Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-release > by-pkgid > eb4b034508697cc17e7c9cfffe7f772b > files > 110

uhd-doc-3.7.2-3.mga5.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>UHD: uhd::transport::usb_zero_copy Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">UHD
   &#160;<span id="projectnumber">003.007.002-0-unknown</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Macros</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceuhd.html">uhd</a></li><li class="navelem"><a class="el" href="namespaceuhd_1_1transport.html">transport</a></li><li class="navelem"><a class="el" href="classuhd_1_1transport_1_1usb__zero__copy.html">usb_zero_copy</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classuhd_1_1transport_1_1usb__zero__copy-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">uhd::transport::usb_zero_copy Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="usb__zero__copy_8hpp_source.html">usb_zero_copy.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for uhd::transport::usb_zero_copy:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classuhd_1_1transport_1_1usb__zero__copy.png" usemap="#uhd::transport::usb_zero_copy_map" alt=""/>
  <map id="uhd::transport::usb_zero_copy_map" name="uhd::transport::usb_zero_copy_map">
<area href="classuhd_1_1transport_1_1zero__copy__if.html" alt="uhd::transport::zero_copy_if" shape="rect" coords="0,56,182,80"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a7ec604f4d45523122f86505a60402e41"><td class="memItemLeft" align="right" valign="top">typedef boost::shared_ptr<br class="typebreak" />
&lt; <a class="el" href="classuhd_1_1transport_1_1usb__zero__copy.html">usb_zero_copy</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuhd_1_1transport_1_1usb__zero__copy.html#a7ec604f4d45523122f86505a60402e41">sptr</a></td></tr>
<tr class="separator:a7ec604f4d45523122f86505a60402e41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classuhd_1_1transport_1_1zero__copy__if"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classuhd_1_1transport_1_1zero__copy__if')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classuhd_1_1transport_1_1zero__copy__if.html">uhd::transport::zero_copy_if</a></td></tr>
<tr class="memitem:aee1d3b676905a547aede35b85438e613 inherit pub_types_classuhd_1_1transport_1_1zero__copy__if"><td class="memItemLeft" align="right" valign="top">typedef boost::shared_ptr<br class="typebreak" />
&lt; <a class="el" href="classuhd_1_1transport_1_1zero__copy__if.html">zero_copy_if</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuhd_1_1transport_1_1zero__copy__if.html#aee1d3b676905a547aede35b85438e613">sptr</a></td></tr>
<tr class="separator:aee1d3b676905a547aede35b85438e613 inherit pub_types_classuhd_1_1transport_1_1zero__copy__if"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a40768b244ef1261b3a33b2866ba0a8fb"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classuhd_1_1transport_1_1usb__zero__copy.html#a7ec604f4d45523122f86505a60402e41">sptr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuhd_1_1transport_1_1usb__zero__copy.html#a40768b244ef1261b3a33b2866ba0a8fb">make</a> (<a class="el" href="classuhd_1_1transport_1_1usb__device__handle.html#a83bb842365c68add8a095d2817e603b7">usb_device_handle::sptr</a> handle, const size_t recv_interface, const size_t recv_endpoint, const size_t send_interface, const size_t send_endpoint, const <a class="el" href="classuhd_1_1device__addr__t.html">device_addr_t</a> &amp;hints=<a class="el" href="classuhd_1_1device__addr__t.html">device_addr_t</a>())</td></tr>
<tr class="separator:a40768b244ef1261b3a33b2866ba0a8fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classuhd_1_1transport_1_1zero__copy__if')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classuhd_1_1transport_1_1zero__copy__if.html">uhd::transport::zero_copy_if</a></td></tr>
<tr class="memitem:a90e0e317f33f7c54d17407801d364ede inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuhd_1_1transport_1_1zero__copy__if.html#a90e0e317f33f7c54d17407801d364ede">~zero_copy_if</a> ()</td></tr>
<tr class="separator:a90e0e317f33f7c54d17407801d364ede inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a616c3bbf1f7e7f750eed9546057e2e09 inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classuhd_1_1transport_1_1managed__recv__buffer.html#a00e07a3493c36ce8b54a609268ee7896">managed_recv_buffer::sptr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuhd_1_1transport_1_1zero__copy__if.html#a616c3bbf1f7e7f750eed9546057e2e09">get_recv_buff</a> (double timeout=0.1)=0</td></tr>
<tr class="separator:a616c3bbf1f7e7f750eed9546057e2e09 inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac534cc62f48bc595c86c94bedab2a710 inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuhd_1_1transport_1_1zero__copy__if.html#ac534cc62f48bc595c86c94bedab2a710">get_num_recv_frames</a> (void) const =0</td></tr>
<tr class="separator:ac534cc62f48bc595c86c94bedab2a710 inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a867e3b83108e352e9cf904c0148a100b inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuhd_1_1transport_1_1zero__copy__if.html#a867e3b83108e352e9cf904c0148a100b">get_recv_frame_size</a> (void) const =0</td></tr>
<tr class="separator:a867e3b83108e352e9cf904c0148a100b inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fc3168c5f9e7d23487e4ae83e3b597c inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classuhd_1_1transport_1_1managed__send__buffer.html#a6bb69c3e7d8f762a065dd66f6f8b3e41">managed_send_buffer::sptr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuhd_1_1transport_1_1zero__copy__if.html#a1fc3168c5f9e7d23487e4ae83e3b597c">get_send_buff</a> (double timeout=0.1)=0</td></tr>
<tr class="separator:a1fc3168c5f9e7d23487e4ae83e3b597c inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4515f92660540b757f1861d5a1657a4b inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuhd_1_1transport_1_1zero__copy__if.html#a4515f92660540b757f1861d5a1657a4b">get_num_send_frames</a> (void) const =0</td></tr>
<tr class="separator:a4515f92660540b757f1861d5a1657a4b inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f3dcc2576760b9ebb944b1b23ee5b2d inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuhd_1_1transport_1_1zero__copy__if.html#a8f3dcc2576760b9ebb944b1b23ee5b2d">get_send_frame_size</a> (void) const =0</td></tr>
<tr class="separator:a8f3dcc2576760b9ebb944b1b23ee5b2d inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A zero copy usb transport provides an efficient way to handle data. by avoiding the extra copy when recv() or send() is called on the handle. Rather, the zero copy transport gives the caller memory references. The caller informs the transport when it is finished with the reference.</p>
<p>On linux systems, the zero copy transport can use a kernel packet ring. If no platform specific solution is available, make returns a boost asio implementation that wraps functionality around standard send/recv calls. </p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="a7ec604f4d45523122f86505a60402e41"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef boost::shared_ptr&lt;<a class="el" href="classuhd_1_1transport_1_1usb__zero__copy.html">usb_zero_copy</a>&gt; <a class="el" href="classuhd_1_1transport_1_1usb__zero__copy.html#a7ec604f4d45523122f86505a60402e41">uhd::transport::usb_zero_copy::sptr</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a40768b244ef1261b3a33b2866ba0a8fb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classuhd_1_1transport_1_1usb__zero__copy.html#a7ec604f4d45523122f86505a60402e41">sptr</a> uhd::transport::usb_zero_copy::make </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classuhd_1_1transport_1_1usb__device__handle.html#a83bb842365c68add8a095d2817e603b7">usb_device_handle::sptr</a>&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>recv_interface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>recv_endpoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>send_interface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>send_endpoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classuhd_1_1device__addr__t.html">device_addr_t</a> &amp;&#160;</td>
          <td class="paramname"><em>hints</em> = <code><a class="el" href="classuhd_1_1device__addr__t.html">device_addr_t</a>()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Make a new zero copy usb transport: This transport is for sending and receiving between the host and a pair of USB bulk transfer endpoints. The primary usage for this transport is data transactions. The underlying implementation may be platform specific.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>a device handle that uniquely identifying the device </td></tr>
    <tr><td class="paramname">recv_interface</td><td>an integer specifiying an IN interface number </td></tr>
    <tr><td class="paramname">recv_endpoint</td><td>an integer specifiying an IN endpoint number </td></tr>
    <tr><td class="paramname">send_interface</td><td>an integer specifiying an OUT interface number </td></tr>
    <tr><td class="paramname">send_endpoint</td><td>an integer specifiying an OUT endpoint number </td></tr>
    <tr><td class="paramname">hints</td><td>optional parameters to pass to the underlying transport </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a new zero copy usb object </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/uhd/transport/<a class="el" href="usb__zero__copy_8hpp_source.html">usb_zero_copy.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Oct 15 2014 11:47:53 for UHD by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>