<!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"/>
<title>GNU Radio 3.6.4.2 C++ API: gr_file_descriptor_source Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>


</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">GNU Radio 3.6.4.2 C++ API
   
   </div>
   
  </td>
  
  
  
   
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classgr__file__descriptor__source.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<div class="title">gr_file_descriptor_source Class Reference<div class="ingroups"><a class="el" href="group__source__blk.html">Signal Sources</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="gr_file_descriptor_source" --><!-- doxytag: inherits="gr_sync_block" -->
<p>Read stream from file descriptor.  
 <a href="classgr__file__descriptor__source.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="gr__file__descriptor__source_8h_source.html">gr_file_descriptor_source.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for gr_file_descriptor_source:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classgr__file__descriptor__source.png" usemap="#gr_file_descriptor_source_map" alt=""/>
  <map id="gr_file_descriptor_source_map" name="gr_file_descriptor_source_map">
<area href="structgr__sync__block.html" alt="gr_sync_block" shape="rect" coords="0,56,158,80"/>
<area href="structgr__block.html" alt="gr_block" shape="rect" coords="0,0,158,24"/>
</map>
 </div></div>

<p><a href="classgr__file__descriptor__source-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__file__descriptor__source.html#a8553a2b7f53a6ffe8754860177c6a714">~gr_file_descriptor_source</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__file__descriptor__source.html#a28a7c20d750296c73c14c1391605ab19">work</a> (int noutput_items, gr_vector_const_void_star &amp;input_items, gr_vector_void_star &amp;output_items)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">just like <a class="el" href="structgr__block.html#adf59080d10f322e3816b7ac8f7cb2a7c" title="compute output items from input items">gr_block::general_work</a>, only this arranges to call consume_each for you  <a href="#a28a7c20d750296c73c14c1391605ab19"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__file__descriptor__source.html#a18569b6c876227223e861d66c726218d">gr_file_descriptor_source</a> (size_t itemsize, int fd, <a class="el" href="stdbool_8h.html#a97a80ca1602ebf2303258971a2c938e2">bool</a> repeat)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__file__descriptor__source.html#a19ace13388bd5037196b9ee4dce0543a">read_items</a> (char *buf, int nitems)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__file__descriptor__source.html#af0f9a847bf3cb06905b587e47368340e">handle_residue</a> (char *buf, int nbytes_read)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="volk_8tmpl_8h.html#a2b104da38b6f0a28d721ed74346ef298">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__file__descriptor__source.html#a11599f25e05597bdda4f7e003435fecb">flush_residue</a> ()</td></tr>
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="gr__core__api_8h.html#a8b8937b0c61edd85ab57ce8203543248">GR_CORE_API</a> <br class="typebreak"/>
<a class="el" href="classboost_1_1shared__ptr.html">gr_file_descriptor_source_sptr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__file__descriptor__source.html#ad2c64a0018c82cc0f6944632600fc6d4">gr_make_file_descriptor_source</a> (size_t itemsize, int fd, <a class="el" href="stdbool_8h.html#a97a80ca1602ebf2303258971a2c938e2">bool</a> repeat)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Read stream from file descriptor. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a18569b6c876227223e861d66c726218d"></a><!-- doxytag: member="gr_file_descriptor_source::gr_file_descriptor_source" ref="a18569b6c876227223e861d66c726218d" args="(size_t itemsize, int fd, bool repeat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgr__file__descriptor__source.html#a18569b6c876227223e861d66c726218d">gr_file_descriptor_source::gr_file_descriptor_source</a> </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>itemsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>fd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdbool_8h.html#a97a80ca1602ebf2303258971a2c938e2">bool</a>&#160;</td>
          <td class="paramname"><em>repeat</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a8553a2b7f53a6ffe8754860177c6a714"></a><!-- doxytag: member="gr_file_descriptor_source::~gr_file_descriptor_source" ref="a8553a2b7f53a6ffe8754860177c6a714" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgr__file__descriptor__source.html#a8553a2b7f53a6ffe8754860177c6a714">gr_file_descriptor_source::~gr_file_descriptor_source</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a11599f25e05597bdda4f7e003435fecb"></a><!-- doxytag: member="gr_file_descriptor_source::flush_residue" ref="a11599f25e05597bdda4f7e003435fecb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="volk_8tmpl_8h.html#a2b104da38b6f0a28d721ed74346ef298">void</a> <a class="el" href="classgr__file__descriptor__source.html#a11599f25e05597bdda4f7e003435fecb">gr_file_descriptor_source::flush_residue</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="af0f9a847bf3cb06905b587e47368340e"></a><!-- doxytag: member="gr_file_descriptor_source::handle_residue" ref="af0f9a847bf3cb06905b587e47368340e" args="(char *buf, int nbytes_read)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classgr__file__descriptor__source.html#af0f9a847bf3cb06905b587e47368340e">gr_file_descriptor_source::handle_residue</a> </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nbytes_read</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a19ace13388bd5037196b9ee4dce0543a"></a><!-- doxytag: member="gr_file_descriptor_source::read_items" ref="a19ace13388bd5037196b9ee4dce0543a" args="(char *buf, int nitems)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classgr__file__descriptor__source.html#a19ace13388bd5037196b9ee4dce0543a">gr_file_descriptor_source::read_items</a> </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nitems</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a28a7c20d750296c73c14c1391605ab19"></a><!-- doxytag: member="gr_file_descriptor_source::work" ref="a28a7c20d750296c73c14c1391605ab19" args="(int noutput_items, gr_vector_const_void_star &amp;input_items, gr_vector_void_star &amp;output_items)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classgr__file__descriptor__source.html#a28a7c20d750296c73c14c1391605ab19">gr_file_descriptor_source::work</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>noutput_items</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gr_vector_const_void_star &amp;&#160;</td>
          <td class="paramname"><em>input_items</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gr_vector_void_star &amp;&#160;</td>
          <td class="paramname"><em>output_items</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>just like <a class="el" href="structgr__block.html#adf59080d10f322e3816b7ac8f7cb2a7c" title="compute output items from input items">gr_block::general_work</a>, only this arranges to call consume_each for you </p>
<p>The user must override work to define the signal processing code </p>

<p>Reimplemented from <a class="el" href="structgr__sync__block.html#aa8c8060e41ba213e038eb7a4eec8f723">gr_sync_block</a>.</p>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="ad2c64a0018c82cc0f6944632600fc6d4"></a><!-- doxytag: member="gr_file_descriptor_source::gr_make_file_descriptor_source" ref="ad2c64a0018c82cc0f6944632600fc6d4" args="(size_t itemsize, int fd, bool repeat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="gr__core__api_8h.html#a8b8937b0c61edd85ab57ce8203543248">GR_CORE_API</a> <a class="el" href="classboost_1_1shared__ptr.html">gr_file_descriptor_source_sptr</a> <a class="el" href="classgr__file__descriptor__source.html#ad2c64a0018c82cc0f6944632600fc6d4">gr_make_file_descriptor_source</a> </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>itemsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>fd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdbool_8h.html#a97a80ca1602ebf2303258971a2c938e2">bool</a>&#160;</td>
          <td class="paramname"><em>repeat</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="gr__file__descriptor__source_8h_source.html">gr_file_descriptor_source.h</a></li>
</ul>
</div><!-- contents -->
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="classgr__file__descriptor__source.html">gr_file_descriptor_source</a>      </li>

    <li class="footer">Generated on Mon Oct 14 2013 11:58:16 for GNU Radio 3.6.4.2 C++ API by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1 </li>
   </ul>
 </div>


</body>
</html>
