<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>serial_port_service</title>
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="serial_port_base__stop_bits/value.html" title="serial_port_base::stop_bits::value">
<link rel="next" href="serial_port_service/assign.html" title="serial_port_service::assign">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
<td align="center"><a href="../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="serial_port_base__stop_bits/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="serial_port_service/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_asio.reference.serial_port_service"></a><a class="link" href="serial_port_service.html" title="serial_port_service">serial_port_service</a>
</h3></div></div></div>
<p>
        Default service implementation for a serial port.
      </p>
<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">serial_port_service</span> <span class="special">:</span>
  <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
</pre>
<a name="boost_asio.reference.serial_port_service.types"></a><h5>
<a name="id1307831"></a>
        <a class="link" href="serial_port_service.html#boost_asio.reference.serial_port_service.types">Types</a>
      </h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Name
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  <a class="link" href="serial_port_service/implementation_type.html" title="serial_port_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The type of a serial port implementation.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="serial_port_service/native_type.html" title="serial_port_service::native_type"><span class="bold"><strong>native_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The native handle type.
                </p>
              </td>
</tr>
</tbody>
</table></div>
<a name="boost_asio.reference.serial_port_service.member_functions"></a><h5>
<a name="id1307947"></a>
        <a class="link" href="serial_port_service.html#boost_asio.reference.serial_port_service.member_functions">Member
        Functions</a>
      </h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Name
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  <a class="link" href="serial_port_service/assign.html" title="serial_port_service::assign"><span class="bold"><strong>assign</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Assign an existing native handle to a serial port.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="serial_port_service/async_read_some.html" title="serial_port_service::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Start an asynchronous read.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="serial_port_service/async_write_some.html" title="serial_port_service::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Start an asynchronous write.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="serial_port_service/cancel.html" title="serial_port_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Cancel all asynchronous operations associated with the handle.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="serial_port_service/close.html" title="serial_port_service::close"><span class="bold"><strong>close</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Close a serial port implementation.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="serial_port_service/construct.html" title="serial_port_service::construct"><span class="bold"><strong>construct</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Construct a new serial port implementation.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="serial_port_service/destroy.html" title="serial_port_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Destroy a serial port implementation.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="serial_port_service/get_io_service.html" title="serial_port_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get the io_service object that owns the service.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="serial_port_service/get_option.html" title="serial_port_service::get_option"><span class="bold"><strong>get_option</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get a serial port option.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="serial_port_service/io_service.html" title="serial_port_service::io_service"><span class="bold"><strong>io_service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  (Deprecated: use get_io_service().) Get the io_service object that
                  owns the service.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="serial_port_service/is_open.html" title="serial_port_service::is_open"><span class="bold"><strong>is_open</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Determine whether the handle is open.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="serial_port_service/native.html" title="serial_port_service::native"><span class="bold"><strong>native</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get the native handle implementation.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="serial_port_service/open.html" title="serial_port_service::open"><span class="bold"><strong>open</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Open a serial port.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="serial_port_service/read_some.html" title="serial_port_service::read_some"><span class="bold"><strong>read_some</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Read some data from the stream.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="serial_port_service/send_break.html" title="serial_port_service::send_break"><span class="bold"><strong>send_break</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Send a break sequence to the serial port.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="serial_port_service/serial_port_service.html" title="serial_port_service::serial_port_service"><span class="bold"><strong>serial_port_service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Construct a new serial port service for the specified io_service.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="serial_port_service/set_option.html" title="serial_port_service::set_option"><span class="bold"><strong>set_option</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Set a serial port option.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="serial_port_service/shutdown_service.html" title="serial_port_service::shutdown_service"><span class="bold"><strong>shutdown_service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Destroy all user-defined handler objects owned by the service.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="serial_port_service/write_some.html" title="serial_port_service::write_some"><span class="bold"><strong>write_some</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Write the given data to the stream.
                </p>
              </td>
</tr>
</tbody>
</table></div>
<a name="boost_asio.reference.serial_port_service.data_members"></a><h5>
<a name="id1308577"></a>
        <a class="link" href="serial_port_service.html#boost_asio.reference.serial_port_service.data_members">Data
        Members</a>
      </h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Name
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody><tr>
<td>
                <p>
                  <a class="link" href="serial_port_service/id.html" title="serial_port_service::id"><span class="bold"><strong>id</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The unique service identifier.
                </p>
              </td>
</tr></tbody>
</table></div>
<a name="boost_asio.reference.serial_port_service.requirements"></a><h5>
<a name="id1308664"></a>
        <a class="link" href="serial_port_service.html#boost_asio.reference.serial_port_service.requirements">Requirements</a>
      </h5>
<p>
        <span class="bold"><strong>Header: </strong></span><code class="literal">boost/asio/serial_port_service.hpp</code>
      </p>
<p>
        <span class="bold"><strong>Convenience header: </strong></span><code class="literal">boost/asio.hpp</code>
      </p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2003 - 2010 Christopher M. Kohlhoff<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="serial_port_base__stop_bits/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="serial_port_service/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
