Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 29c369053a983cc5d8c880dc6e0a2237 > files > 948

libdtn-devel-2.6.0-2mdv2009.1.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>DTN Reference Implementation: dtn::BundleStatusReport Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Main&nbsp;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>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespacedtn.html">dtn</a>::<a class="el" href="classdtn_1_1BundleStatusReport.html">BundleStatusReport</a>
  </div>
</div>
<div class="contents">
<h1>dtn::BundleStatusReport Class Reference</h1><!-- doxytag: class="dtn::BundleStatusReport" -->Utility class to create and parse status reports.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="BundleStatusReport_8h-source.html">BundleStatusReport.h</a>&gt;</code>
<p>

<p>
<a href="classdtn_1_1BundleStatusReport-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtn_1_1BundleStatusReport_1_1data__t.html">data_t</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specification of the contents of a <a class="el" href="classdtn_1_1Bundle.html" title="The internal representation of a bundle.">Bundle</a> Status Report.  <a href="structdtn_1_1BundleStatusReport_1_1data__t.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStatusReport.html#b2546897ef428634d8385363b6de1499">flag_t</a> { <br>
&nbsp;&nbsp;<a class="el" href="classdtn_1_1BundleStatusReport.html#b2546897ef428634d8385363b6de149923a02b797429c4a3cf6c5e89f65ee036">STATUS_RECEIVED</a> =  0x01, 
<a class="el" href="classdtn_1_1BundleStatusReport.html#b2546897ef428634d8385363b6de1499064bcecfb056e6fb69163c02c178e16d">STATUS_CUSTODY_ACCEPTED</a> =  0x02, 
<a class="el" href="classdtn_1_1BundleStatusReport.html#b2546897ef428634d8385363b6de14990bf1d45c8cccd8402bde14ee94f6547f">STATUS_FORWARDED</a> =  0x04, 
<a class="el" href="classdtn_1_1BundleStatusReport.html#b2546897ef428634d8385363b6de1499c3d5b382fe3e58a9ef8a7ad98203e9f0">STATUS_DELIVERED</a> =  0x08, 
<br>
&nbsp;&nbsp;<a class="el" href="classdtn_1_1BundleStatusReport.html#b2546897ef428634d8385363b6de14990b94e9bc2f3ff0bb55a9920a9a5058f2">STATUS_DELETED</a> =  0x10, 
<a class="el" href="classdtn_1_1BundleStatusReport.html#b2546897ef428634d8385363b6de1499c3f0fc79cd0c05849272121d95eb3b4a">STATUS_ACKED_BY_APP</a> =  0x20, 
<a class="el" href="classdtn_1_1BundleStatusReport.html#b2546897ef428634d8385363b6de149967395c3e6c6f7b03e5b5eb394d9547f7">STATUS_UNUSED</a> =  0x40, 
<a class="el" href="classdtn_1_1BundleStatusReport.html#b2546897ef428634d8385363b6de14994c392d1a743fed41f93d6c9eca10fac8">STATUS_UNUSED2</a> =  0x80
<br>
 }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak">
<a class="el" href="classdtn_1_1BundleProtocol.html#37b000d94172c06970bb8af32889f917">BundleProtocol::status_report_reason_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStatusReport.html#d34ef9523deb6d1b000be14fc38d338f">reason_t</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The reason codes are defined in the <a class="el" href="classdtn_1_1BundleProtocol.html" title="Centralized class used to convert a Bundle to / from the bundle protocol specification...">BundleProtocol</a> class.  <a href="#d34ef9523deb6d1b000be14fc38d338f"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStatusReport.html#d3369fc659fbc354c26ddb769917ace8">create_status_report</a> (<a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *bundle, const <a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *orig_bundle, const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;source, <a class="el" href="classdtn_1_1BundleStatusReport.html#b2546897ef428634d8385363b6de1499">flag_t</a> status_flag, <a class="el" href="classdtn_1_1BundleProtocol.html#37b000d94172c06970bb8af32889f917">reason_t</a> reason)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor-like function that fills in the bundle payload buffer with the appropriate status report format.  <a href="#d3369fc659fbc354c26ddb769917ace8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStatusReport.html#a9e6e466cf356e0550bd1f36def1f4dc">parse_status_report</a> (<a class="el" href="structdtn_1_1BundleStatusReport_1_1data__t.html">data_t</a> *data, const u_char *bp, u_int len)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse a byte stream containing a Status Report Payload and store the fields in the given struct.  <a href="#a9e6e466cf356e0550bd1f36def1f4dc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStatusReport.html#4ecd1fbeed4960b87f389d888d9a46d8">parse_status_report</a> (<a class="el" href="structdtn_1_1BundleStatusReport_1_1data__t.html">data_t</a> *data, const <a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *bundle)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse the payload of the given bundle into the given struct.  <a href="#4ecd1fbeed4960b87f389d888d9a46d8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStatusReport.html#c01eebd70430ee5eaf44240097a765cf">reason_to_str</a> (u_int8_t reason)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a string version of the reason code.  <a href="#c01eebd70430ee5eaf44240097a765cf"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Utility class to create and parse status reports. 
<p>Definition at line <a class="el" href="BundleStatusReport_8h-source.html#l00029">29</a> of file <a class="el" href="BundleStatusReport_8h-source.html">BundleStatusReport.h</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="d34ef9523deb6d1b000be14fc38d338f"></a><!-- doxytag: member="dtn::BundleStatusReport::reason_t" ref="d34ef9523deb6d1b000be14fc38d338f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classdtn_1_1BundleProtocol.html#37b000d94172c06970bb8af32889f917">BundleProtocol::status_report_reason_t</a> <a class="el" href="classdtn_1_1BundleProtocol.html#37b000d94172c06970bb8af32889f917">dtn::BundleStatusReport::reason_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The reason codes are defined in the <a class="el" href="classdtn_1_1BundleProtocol.html" title="Centralized class used to convert a Bundle to / from the bundle protocol specification...">BundleProtocol</a> class. 
<p>

<p>Definition at line <a class="el" href="BundleStatusReport_8h-source.html#l00045">45</a> of file <a class="el" href="BundleStatusReport_8h-source.html">BundleStatusReport.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="b2546897ef428634d8385363b6de1499"></a><!-- doxytag: member="dtn::BundleStatusReport::flag_t" ref="b2546897ef428634d8385363b6de1499" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classdtn_1_1BundleStatusReport.html#b2546897ef428634d8385363b6de1499">dtn::BundleStatusReport::flag_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="b2546897ef428634d8385363b6de149923a02b797429c4a3cf6c5e89f65ee036"></a><!-- doxytag: member="STATUS_RECEIVED" ref="b2546897ef428634d8385363b6de149923a02b797429c4a3cf6c5e89f65ee036" args="" -->STATUS_RECEIVED</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="b2546897ef428634d8385363b6de1499064bcecfb056e6fb69163c02c178e16d"></a><!-- doxytag: member="STATUS_CUSTODY_ACCEPTED" ref="b2546897ef428634d8385363b6de1499064bcecfb056e6fb69163c02c178e16d" args="" -->STATUS_CUSTODY_ACCEPTED</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="b2546897ef428634d8385363b6de14990bf1d45c8cccd8402bde14ee94f6547f"></a><!-- doxytag: member="STATUS_FORWARDED" ref="b2546897ef428634d8385363b6de14990bf1d45c8cccd8402bde14ee94f6547f" args="" -->STATUS_FORWARDED</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="b2546897ef428634d8385363b6de1499c3d5b382fe3e58a9ef8a7ad98203e9f0"></a><!-- doxytag: member="STATUS_DELIVERED" ref="b2546897ef428634d8385363b6de1499c3d5b382fe3e58a9ef8a7ad98203e9f0" args="" -->STATUS_DELIVERED</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="b2546897ef428634d8385363b6de14990b94e9bc2f3ff0bb55a9920a9a5058f2"></a><!-- doxytag: member="STATUS_DELETED" ref="b2546897ef428634d8385363b6de14990b94e9bc2f3ff0bb55a9920a9a5058f2" args="" -->STATUS_DELETED</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="b2546897ef428634d8385363b6de1499c3f0fc79cd0c05849272121d95eb3b4a"></a><!-- doxytag: member="STATUS_ACKED_BY_APP" ref="b2546897ef428634d8385363b6de1499c3f0fc79cd0c05849272121d95eb3b4a" args="" -->STATUS_ACKED_BY_APP</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="b2546897ef428634d8385363b6de149967395c3e6c6f7b03e5b5eb394d9547f7"></a><!-- doxytag: member="STATUS_UNUSED" ref="b2546897ef428634d8385363b6de149967395c3e6c6f7b03e5b5eb394d9547f7" args="" -->STATUS_UNUSED</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="b2546897ef428634d8385363b6de14994c392d1a743fed41f93d6c9eca10fac8"></a><!-- doxytag: member="STATUS_UNUSED2" ref="b2546897ef428634d8385363b6de14994c392d1a743fed41f93d6c9eca10fac8" args="" -->STATUS_UNUSED2</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="BundleStatusReport_8h-source.html#l00031">31</a> of file <a class="el" href="BundleStatusReport_8h-source.html">BundleStatusReport.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="d3369fc659fbc354c26ddb769917ace8"></a><!-- doxytag: member="dtn::BundleStatusReport::create_status_report" ref="d3369fc659fbc354c26ddb769917ace8" args="(Bundle *bundle, const Bundle *orig_bundle, const EndpointID &amp;source, flag_t status_flag, reason_t reason)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::BundleStatusReport::create_status_report           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *&nbsp;</td>
          <td class="paramname"> <em>bundle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *&nbsp;</td>
          <td class="paramname"> <em>orig_bundle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classdtn_1_1BundleStatusReport.html#b2546897ef428634d8385363b6de1499">flag_t</a>&nbsp;</td>
          <td class="paramname"> <em>status_flag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classdtn_1_1BundleProtocol.html#37b000d94172c06970bb8af32889f917">reason_t</a>&nbsp;</td>
          <td class="paramname"> <em>reason</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor-like function that fills in the bundle payload buffer with the appropriate status report format. 
<p>
Although the spec allows for multiple timestamps to be set in a single status report, this implementation only supports creating a single timestamp per report, hence there is only support for a single flag to be passed in the parameters. 
<p>Definition at line <a class="el" href="BundleStatusReport_8cc-source.html#l00030">30</a> of file <a class="el" href="BundleStatusReport_8cc-source.html">BundleStatusReport.cc</a>.</p>

<p>References <a class="el" href="BundleProtocol_8h-source.html#l00228">dtn::BundleProtocol::ADMIN_IS_FRAGMENT</a>, <a class="el" href="BundleProtocol_8h-source.html#l00219">dtn::BundleProtocol::ADMIN_STATUS_REPORT</a>, <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="EndpointID_8h-source.html#l00084">dtn::EndpointID::assign()</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00234">dtn::Bundle::creation_ts()</a>, <a class="el" href="SDNV_8cc-source.html#l00062">encode()</a>, <a class="el" href="SDNV_8cc-source.html#l00107">encoding_len()</a>, <a class="el" href="EndpointID_8h-source.html#l00126">dtn::EndpointID::equals()</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00221">dtn::Bundle::expiration()</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00222">dtn::Bundle::frag_offset()</a>, <a class="el" href="BundleTimestamp_8cc-source.html#l00034">dtn::BundleTimestamp::get_current_time()</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00209">dtn::Bundle::is_fragment()</a>, <a class="el" href="num2sdnv_8c-source.html#l00034">len</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00245">dtn::Bundle::mutable_custodian()</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00243">dtn::Bundle::mutable_dest()</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00272">dtn::Bundle::mutable_payload()</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00244">dtn::Bundle::mutable_replyto()</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00242">dtn::Bundle::mutable_source()</a>, <a class="el" href="EndpointID_8h-source.html#l00358">dtn::EndpointID::NULL_EID()</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00223">dtn::Bundle::orig_length()</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00207">dtn::Bundle::replyto()</a>, <a class="el" href="sdnv-c_8h.html#61025d18c2abbee27eba89034e1fb025">sdnv_encoding_len()</a>, <a class="el" href="BundleTimestamp_8h-source.html#l00031">dtn::BundleTimestamp::seconds_</a>, <a class="el" href="BundleTimestamp_8h-source.html#l00032">dtn::BundleTimestamp::seqno_</a>, <a class="el" href="BundlePayload_8cc-source.html#l00349">dtn::BundlePayload::set_data()</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00259">dtn::Bundle::set_expiration()</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00248">dtn::Bundle::set_is_admin()</a>, <a class="el" href="BundleProtocol_8cc-source.html#l00569">dtn::BundleProtocol::set_timestamp()</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00204">dtn::Bundle::source()</a>, and <a class="el" href="BundleProtocol_8cc-source.html#l00605">dtn::BundleProtocol::ts_encoding_len()</a>.</p>

<p>Referenced by <a class="el" href="BundleDaemon_8cc-source.html#l00242">dtn::BundleDaemon::generate_status_report()</a>.</p>

</div>
</div><p>
<a class="anchor" name="4ecd1fbeed4960b87f389d888d9a46d8"></a><!-- doxytag: member="dtn::BundleStatusReport::parse_status_report" ref="4ecd1fbeed4960b87f389d888d9a46d8" args="(data_t *data, const Bundle *bundle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::BundleStatusReport::parse_status_report           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structdtn_1_1BundleStatusReport_1_1data__t.html">data_t</a> *&nbsp;</td>
          <td class="paramname"> <em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *&nbsp;</td>
          <td class="paramname"> <em>bundle</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Parse the payload of the given bundle into the given struct. 
<p>
Returns false if the bundle is not a well formed status report. 
<p>Definition at line <a class="el" href="BundleStatusReport_8cc-source.html#l00291">291</a> of file <a class="el" href="BundleStatusReport_8cc-source.html">BundleStatusReport.cc</a>.</p>

<p>References <a class="el" href="BundleProtocol_8h-source.html#l00219">dtn::BundleProtocol::ADMIN_STATUS_REPORT</a>, <a class="el" href="num2sdnv_8c-source.html#l00035">buf</a>, <a class="el" href="BundleProtocol_8cc-source.html#l00612">dtn::BundleProtocol::get_admin_type()</a>, <a class="el" href="BundlePayload_8h-source.html#l00077">dtn::BundlePayload::length()</a>, <a class="el" href="SDNV_8cc-source.html#l00054">log_err_p</a>, <a class="el" href="BundleStatusReport_8cc-source.html#l00166">parse_status_report()</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00232">dtn::Bundle::payload()</a>, and <a class="el" href="BundlePayload_8cc-source.html#l00419">dtn::BundlePayload::read_data()</a>.</p>

</div>
</div><p>
<a class="anchor" name="a9e6e466cf356e0550bd1f36def1f4dc"></a><!-- doxytag: member="dtn::BundleStatusReport::parse_status_report" ref="a9e6e466cf356e0550bd1f36def1f4dc" args="(data_t *data, const u_char *bp, u_int len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::BundleStatusReport::parse_status_report           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structdtn_1_1BundleStatusReport_1_1data__t.html">data_t</a> *&nbsp;</td>
          <td class="paramname"> <em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u_char *&nbsp;</td>
          <td class="paramname"> <em>bp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Parse a byte stream containing a Status Report Payload and store the fields in the given struct. 
<p>
Returns false if parsing failed. 
<p>Definition at line <a class="el" href="BundleStatusReport_8cc-source.html#l00166">166</a> of file <a class="el" href="BundleStatusReport_8cc-source.html">BundleStatusReport.cc</a>.</p>

<p>References <a class="el" href="BundleStatusReport_8h-source.html#l00062">dtn::BundleStatusReport::BundleStatusReport::data_t::ack_by_app_tv_</a>, <a class="el" href="BundleStatusReport_8h-source.html#l00052">dtn::BundleStatusReport::BundleStatusReport::data_t::admin_flags_</a>, <a class="el" href="BundleProtocol_8h-source.html#l00228">dtn::BundleProtocol::ADMIN_IS_FRAGMENT</a>, <a class="el" href="BundleProtocol_8h-source.html#l00219">dtn::BundleProtocol::ADMIN_STATUS_REPORT</a>, <a class="el" href="BundleStatusReport_8h-source.html#l00051">dtn::BundleStatusReport::BundleStatusReport::data_t::admin_type_</a>, <a class="el" href="EndpointID_8h-source.html#l00084">dtn::EndpointID::assign()</a>, <a class="el" href="BundleStatusReport_8h-source.html#l00058">dtn::BundleStatusReport::BundleStatusReport::data_t::custody_tv_</a>, <a class="el" href="SDNV_8cc-source.html#l00117">decode()</a>, <a class="el" href="BundleStatusReport_8h-source.html#l00061">dtn::BundleStatusReport::BundleStatusReport::data_t::deletion_tv_</a>, <a class="el" href="BundleStatusReport_8h-source.html#l00060">dtn::BundleStatusReport::BundleStatusReport::data_t::delivery_tv_</a>, <a class="el" href="BundleStatusReport_8h-source.html#l00059">dtn::BundleStatusReport::BundleStatusReport::data_t::forwarding_tv_</a>, <a class="el" href="BundleProtocol_8cc-source.html#l00584">dtn::BundleProtocol::get_timestamp()</a>, <a class="el" href="BundleStatusReport_8h-source.html#l00063">dtn::BundleStatusReport::BundleStatusReport::data_t::orig_creation_tv_</a>, <a class="el" href="BundleStatusReport_8h-source.html#l00056">dtn::BundleStatusReport::BundleStatusReport::data_t::orig_frag_length_</a>, <a class="el" href="BundleStatusReport_8h-source.html#l00055">dtn::BundleStatusReport::BundleStatusReport::data_t::orig_frag_offset_</a>, <a class="el" href="BundleStatusReport_8h-source.html#l00064">dtn::BundleStatusReport::BundleStatusReport::data_t::orig_source_eid_</a>, <a class="el" href="BundleStatusReport_8h-source.html#l00054">dtn::BundleStatusReport::BundleStatusReport::data_t::reason_code_</a>, <a class="el" href="BundleStatusReport_8h-source.html#l00057">dtn::BundleStatusReport::BundleStatusReport::data_t::receipt_tv_</a>, <a class="el" href="BundleTimestamp_8h-source.html#l00031">dtn::BundleTimestamp::seconds_</a>, <a class="el" href="BundleTimestamp_8h-source.html#l00032">dtn::BundleTimestamp::seqno_</a>, <a class="el" href="BundleStatusReport_8h-source.html#l00037">STATUS_ACKED_BY_APP</a>, <a class="el" href="BundleStatusReport_8h-source.html#l00033">STATUS_CUSTODY_ACCEPTED</a>, <a class="el" href="BundleStatusReport_8h-source.html#l00036">STATUS_DELETED</a>, <a class="el" href="BundleStatusReport_8h-source.html#l00035">STATUS_DELIVERED</a>, <a class="el" href="BundleStatusReport_8h-source.html#l00053">dtn::BundleStatusReport::BundleStatusReport::data_t::status_flags_</a>, <a class="el" href="BundleStatusReport_8h-source.html#l00034">STATUS_FORWARDED</a>, and <a class="el" href="BundleStatusReport_8h-source.html#l00032">STATUS_RECEIVED</a>.</p>

<p>Referenced by <a class="el" href="APIServer_8cc-source.html#l01187">dtn::APIClient::handle_recv()</a>, <a class="el" href="TclRegistration_8cc-source.html#l00164">dtn::TclRegistration::parse_bundle_data()</a>, and <a class="el" href="BundleStatusReport_8cc-source.html#l00291">parse_status_report()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c01eebd70430ee5eaf44240097a765cf"></a><!-- doxytag: member="dtn::BundleStatusReport::reason_to_str" ref="c01eebd70430ee5eaf44240097a765cf" args="(u_int8_t reason)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * dtn::BundleStatusReport::reason_to_str           </td>
          <td>(</td>
          <td class="paramtype">u_int8_t&nbsp;</td>
          <td class="paramname"> <em>reason</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return a string version of the reason code. 
<p>

<p>Definition at line <a class="el" href="BundleStatusReport_8cc-source.html#l00319">319</a> of file <a class="el" href="BundleStatusReport_8cc-source.html">BundleStatusReport.cc</a>.</p>

<p>References <a class="el" href="BundleProtocol_8h-source.html#l00132">dtn::BundleProtocol::REASON_BLOCK_UNINTELLIGIBLE</a>, <a class="el" href="BundleProtocol_8h-source.html#l00128">dtn::BundleProtocol::REASON_DEPLETED_STORAGE</a>, <a class="el" href="BundleProtocol_8h-source.html#l00129">dtn::BundleProtocol::REASON_ENDPOINT_ID_UNINTELLIGIBLE</a>, <a class="el" href="BundleProtocol_8h-source.html#l00126">dtn::BundleProtocol::REASON_FORWARDED_UNIDIR_LINK</a>, <a class="el" href="BundleProtocol_8h-source.html#l00125">dtn::BundleProtocol::REASON_LIFETIME_EXPIRED</a>, <a class="el" href="BundleProtocol_8h-source.html#l00124">dtn::BundleProtocol::REASON_NO_ADDTL_INFO</a>, <a class="el" href="BundleProtocol_8h-source.html#l00130">dtn::BundleProtocol::REASON_NO_ROUTE_TO_DEST</a>, <a class="el" href="BundleProtocol_8h-source.html#l00131">dtn::BundleProtocol::REASON_NO_TIMELY_CONTACT</a>, and <a class="el" href="BundleProtocol_8h-source.html#l00127">dtn::BundleProtocol::REASON_TRANSMISSION_CANCELLED</a>.</p>

<p>Referenced by <a class="el" href="BundleDaemon_8cc-source.html#l00473">dtn::BundleDaemon::handle_bundle_accept()</a>, <a class="el" href="BundleDaemon_8cc-source.html#l00461">dtn::BundleDaemon::handle_bundle_delete()</a>, <a class="el" href="APIServer_8cc-source.html#l00776">dtn::APIClient::handle_send()</a>, and <a class="el" href="TclRegistration_8cc-source.html#l00164">dtn::TclRegistration::parse_bundle_data()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="BundleStatusReport_8h-source.html">BundleStatusReport.h</a><li><a class="el" href="BundleStatusReport_8cc-source.html">BundleStatusReport.cc</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jan 30 09:27:03 2009 for DTN Reference Implementation by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>