Sophie

Sophie

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

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: prophet::ProphetTLV::ProphetTLV::ProphetHeader Struct 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="namespaceprophet.html">prophet</a>::<a class="el" href="classprophet_1_1ProphetTLV.html">ProphetTLV</a>::<a class="el" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html">ProphetHeader</a>
  </div>
</div>
<div class="contents">
<h1>prophet::ProphetTLV::ProphetTLV::ProphetHeader Struct Reference</h1><!-- doxytag: class="prophet::ProphetTLV::ProphetHeader" -->Header Definition p.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="ProphetTLV_8h-source.html">ProphetTLV.h</a>&gt;</code>
<p>

<p>
<a href="structprophet_1_1ProphetTLV_1_1ProphetHeader-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u_int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#78926b93e6ea4e360ffdab8cf46c24dd">version</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This version of the PRoPHET Protocol = 1.  <a href="#78926b93e6ea4e360ffdab8cf46c24dd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u_int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#a176e0483e0d2787a8f511fe3c3a8ec1">flags</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">TBD.  <a href="#a176e0483e0d2787a8f511fe3c3a8ec1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u_int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#4fb75a06d41e250c589f15da9d6a5e79">result</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Field that is used to indicate whether a response is required to the request message if the outcome is successful.  <a href="#4fb75a06d41e250c589f15da9d6a5e79"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u_int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#54bd2a3d93895cccc3bd6defae1099cc">code</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Field gives further information concerning the result in a response message.  <a href="#54bd2a3d93895cccc3bd6defae1099cc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u_int16_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#83b7b89d87997fb770fa04eddabec350">sender_instance</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">For messages during the Hello phase with the Hello SYN, Hello SYNACK, and Hello ACK functions, it is the sender's instance number for the link.  <a href="#83b7b89d87997fb770fa04eddabec350"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u_int16_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#acff2ef85ea793081b0e853e658ac438">receiver_instance</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">For messages during the Hello phase with the Hello SYN, Hello SYNACK, and Hello ACK functions, is what the sender believes is the current instance number for the link, allocated by the entity at the far end of the link.  <a href="#acff2ef85ea793081b0e853e658ac438"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u_int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#d5bc7f1caa6386e1ff19c5e1c3c55135">transaction_id</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used to associate a message with its response message.  <a href="#d5bc7f1caa6386e1ff19c5e1c3c55135"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u_int16_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#ec5c0c81380555747fd6fd2855ef0a64">submessage_flag</a>:1</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If S is set then the SubMessage Number field indicates the total number of SubMessage segments that compose the entire message.  <a href="#ec5c0c81380555747fd6fd2855ef0a64"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u_int16_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#c247cbd2076e7c0d5036a6154ab0f41a">submessage_num</a>:15</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">When a message is segmented because it exceeds the MTU of the link layer, each segment will include a submessage number to indicate its position.  <a href="#c247cbd2076e7c0d5036a6154ab0f41a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u_int16_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#866e230b9ea5df8e61d98dd791b833e1">length</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Length in octets of this message including headers and message body.  <a href="#866e230b9ea5df8e61d98dd791b833e1"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Header Definition p. 
<p>
21, 4.2 
<p>Definition at line <a class="el" href="ProphetTLV_8h-source.html#l00037">37</a> of file <a class="el" href="ProphetTLV_8h-source.html">ProphetTLV.h</a>.</p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="54bd2a3d93895cccc3bd6defae1099cc"></a><!-- doxytag: member="prophet::ProphetTLV::ProphetHeader::code" ref="54bd2a3d93895cccc3bd6defae1099cc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u_int8_t prophet::ProphetTLV::ProphetTLV::ProphetHeader::code          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Field gives further information concerning the result in a response message. 
<p>
It is mostly used to pass an error code in a failure response but can also be used to give further information in a success response message or an event message. In a request message, the code field is not used and is set to zero.<br>
<br>
 If the Code field indicates that the Error TLV is included in the message, further information on the error will be found in the Error TLV, which MUST be the the first TLV after the header. <br>
<br>
 The encoding is:<br>
 <br>
 PRoPHET Error messages 0x000 - 0x099<br>
 Reserved 0x0A0 - 0x0FE<br>
 Error TLV in message 0x0FF<br>
 
<p>Definition at line <a class="el" href="ProphetTLV_8h-source.html#l00089">89</a> of file <a class="el" href="ProphetTLV_8h-source.html">ProphetTLV.h</a>.</p>

<p>Referenced by <a class="el" href="ProphetTLV_8cc-source.html#l00113">prophet::ProphetTLV::deserialize()</a>, and <a class="el" href="ProphetTLV_8cc-source.html#l00062">prophet::ProphetTLV::serialize()</a>.</p>

</div>
</div><p>
<a class="anchor" name="a176e0483e0d2787a8f511fe3c3a8ec1"></a><!-- doxytag: member="prophet::ProphetTLV::ProphetHeader::flags" ref="a176e0483e0d2787a8f511fe3c3a8ec1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u_int8_t prophet::ProphetTLV::ProphetTLV::ProphetHeader::flags          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
TBD. 
<p>

<p>Definition at line <a class="el" href="ProphetTLV_8h-source.html#l00039">39</a> of file <a class="el" href="ProphetTLV_8h-source.html">ProphetTLV.h</a>.</p>

<p>Referenced by <a class="el" href="ProphetTLV_8cc-source.html#l00113">prophet::ProphetTLV::deserialize()</a>, and <a class="el" href="ProphetTLV_8cc-source.html#l00062">prophet::ProphetTLV::serialize()</a>.</p>

</div>
</div><p>
<a class="anchor" name="866e230b9ea5df8e61d98dd791b833e1"></a><!-- doxytag: member="prophet::ProphetTLV::ProphetHeader::length" ref="866e230b9ea5df8e61d98dd791b833e1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u_int16_t prophet::ProphetTLV::ProphetTLV::ProphetHeader::length          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Length in octets of this message including headers and message body. 
<p>
If the message is fragmented, this field contains the length of this submessage. 
<p>Definition at line <a class="el" href="ProphetTLV_8h-source.html#l00151">151</a> of file <a class="el" href="ProphetTLV_8h-source.html">ProphetTLV.h</a>.</p>

<p>Referenced by <a class="el" href="ProphetTLV_8cc-source.html#l00113">prophet::ProphetTLV::deserialize()</a>, and <a class="el" href="ProphetTLV_8cc-source.html#l00062">prophet::ProphetTLV::serialize()</a>.</p>

</div>
</div><p>
<a class="anchor" name="acff2ef85ea793081b0e853e658ac438"></a><!-- doxytag: member="prophet::ProphetTLV::ProphetHeader::receiver_instance" ref="acff2ef85ea793081b0e853e658ac438" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u_int16_t prophet::ProphetTLV::ProphetTLV::ProphetHeader::receiver_instance          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
For messages during the Hello phase with the Hello SYN, Hello SYNACK, and Hello ACK functions, is what the sender believes is the current instance number for the link, allocated by the entity at the far end of the link. 
<p>
If the sender of the message does not know the current instance number at the far end of the link, this field SHOULD be set to zero. For the RSTACK message, the Receiver Instance field is set to the value of the Sender Instance field from the incoming message that caused the RSTACK message to be generated. Messages sent after the Hello phase is completed should use what the sender believes is the current instance number for the link, allocated by the entity at the far end of the link. 
<p>Definition at line <a class="el" href="ProphetTLV_8h-source.html#l00120">120</a> of file <a class="el" href="ProphetTLV_8h-source.html">ProphetTLV.h</a>.</p>

<p>Referenced by <a class="el" href="ProphetTLV_8cc-source.html#l00113">prophet::ProphetTLV::deserialize()</a>, and <a class="el" href="ProphetTLV_8cc-source.html#l00062">prophet::ProphetTLV::serialize()</a>.</p>

</div>
</div><p>
<a class="anchor" name="4fb75a06d41e250c589f15da9d6a5e79"></a><!-- doxytag: member="prophet::ProphetTLV::ProphetHeader::result" ref="4fb75a06d41e250c589f15da9d6a5e79" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u_int8_t prophet::ProphetTLV::ProphetTLV::ProphetHeader::result          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Field that is used to indicate whether a response is required to the request message if the outcome is successful. 
<p>
A value of "NoSuccessAck" indicates that the request message does not expect a response if the outcome is successful, and a value of "AckAll" indicates that a response is expected if the outcome is successful. In both cases a failure response MUST be generated if the request fails.<br>
<br>
 In a response message, the result field can have two values: "Success," and "Failure". The "Success" results indicates a success response. All messages that belong to the same success response will have the same Transaction Identifier. The "Success" result indicates a success response that may be contained in a single message or the final message of a success response spanning multiple messages.<br>
<br>
 ReturnReceipt is a result field used to indicate that an acknowledgement is required for the message. The default for Messages is that the controller will not acknowledge responses. In the case where an acknowledgement is required, it will set the Result Field to ReturnReceipt in the header of the Message. <br>
<br>
 The encoding of the result field is:<br>
 <br>
 NoSuccessAck: Result = 1<br>
 AckAll: Result = 2<br>
 Success: Result = 3<br>
 Failure: Result = 4<br>
 ReturnReceipt Result = 5<br>
 <br>
 
<p>Definition at line <a class="el" href="ProphetTLV_8h-source.html#l00070">70</a> of file <a class="el" href="ProphetTLV_8h-source.html">ProphetTLV.h</a>.</p>

<p>Referenced by <a class="el" href="ProphetTLV_8cc-source.html#l00113">prophet::ProphetTLV::deserialize()</a>, and <a class="el" href="ProphetTLV_8cc-source.html#l00062">prophet::ProphetTLV::serialize()</a>.</p>

</div>
</div><p>
<a class="anchor" name="83b7b89d87997fb770fa04eddabec350"></a><!-- doxytag: member="prophet::ProphetTLV::ProphetHeader::sender_instance" ref="83b7b89d87997fb770fa04eddabec350" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u_int16_t prophet::ProphetTLV::ProphetTLV::ProphetHeader::sender_instance          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
For messages during the Hello phase with the Hello SYN, Hello SYNACK, and Hello ACK functions, it is the sender's instance number for the link. 
<p>
It is used to detect when the link comes back up after going down or when the identity of the entity at the other end of the link changes. The instance number is a 16- bit number that is guaranteed to be unique within the recent past and to change when the link or node comes back up after going down. Zero is not a valid instance number. For the RSTACK function, the Sender Instance field is set to the value of the Receiver Instance field from the incoming message that caused the RSTACK function to be generated. Messages sent after the Hello phase is completed should use the sender's instance number for the link. 
<p>Definition at line <a class="el" href="ProphetTLV_8h-source.html#l00105">105</a> of file <a class="el" href="ProphetTLV_8h-source.html">ProphetTLV.h</a>.</p>

<p>Referenced by <a class="el" href="ProphetTLV_8cc-source.html#l00113">prophet::ProphetTLV::deserialize()</a>, and <a class="el" href="ProphetTLV_8cc-source.html#l00062">prophet::ProphetTLV::serialize()</a>.</p>

</div>
</div><p>
<a class="anchor" name="ec5c0c81380555747fd6fd2855ef0a64"></a><!-- doxytag: member="prophet::ProphetTLV::ProphetHeader::submessage_flag" ref="ec5c0c81380555747fd6fd2855ef0a64" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u_int16_t prophet::ProphetTLV::ProphetTLV::ProphetHeader::submessage_flag          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
If S is set then the SubMessage Number field indicates the total number of SubMessage segments that compose the entire message. 
<p>
If it is not set then the SubMessage Number field indicates the sequence number of this SubMessage segment within the whole message. the S field will only be set in the first sub-message of a sequence. 
<p>Definition at line <a class="el" href="ProphetTLV_8h-source.html#l00136">136</a> of file <a class="el" href="ProphetTLV_8h-source.html">ProphetTLV.h</a>.</p>

<p>Referenced by <a class="el" href="ProphetTLV_8cc-source.html#l00113">prophet::ProphetTLV::deserialize()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c247cbd2076e7c0d5036a6154ab0f41a"></a><!-- doxytag: member="prophet::ProphetTLV::ProphetHeader::submessage_num" ref="c247cbd2076e7c0d5036a6154ab0f41a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u_int16_t prophet::ProphetTLV::ProphetTLV::ProphetHeader::submessage_num          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
When a message is segmented because it exceeds the MTU of the link layer, each segment will include a submessage number to indicate its position. 
<p>
Alternatively, if it is the first submessage in a sequence of submessages, the S flag will be set and this field will contain the total count of submessage segments. 
<p>Definition at line <a class="el" href="ProphetTLV_8h-source.html#l00145">145</a> of file <a class="el" href="ProphetTLV_8h-source.html">ProphetTLV.h</a>.</p>

<p>Referenced by <a class="el" href="ProphetTLV_8cc-source.html#l00113">prophet::ProphetTLV::deserialize()</a>.</p>

</div>
</div><p>
<a class="anchor" name="d5bc7f1caa6386e1ff19c5e1c3c55135"></a><!-- doxytag: member="prophet::ProphetTLV::ProphetHeader::transaction_id" ref="d5bc7f1caa6386e1ff19c5e1c3c55135" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u_int32_t prophet::ProphetTLV::ProphetTLV::ProphetHeader::transaction_id          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Used to associate a message with its response message. 
<p>
This should be set in request messages to a value that is unique for the sending host within the recent past. Reply messages contain the Transaction Indentifier of the request they are responding to. 
<p>Definition at line <a class="el" href="ProphetTLV_8h-source.html#l00127">127</a> of file <a class="el" href="ProphetTLV_8h-source.html">ProphetTLV.h</a>.</p>

<p>Referenced by <a class="el" href="ProphetTLV_8cc-source.html#l00113">prophet::ProphetTLV::deserialize()</a>, and <a class="el" href="ProphetTLV_8cc-source.html#l00062">prophet::ProphetTLV::serialize()</a>.</p>

</div>
</div><p>
<a class="anchor" name="78926b93e6ea4e360ffdab8cf46c24dd"></a><!-- doxytag: member="prophet::ProphetTLV::ProphetHeader::version" ref="78926b93e6ea4e360ffdab8cf46c24dd" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u_int8_t prophet::ProphetTLV::ProphetTLV::ProphetHeader::version          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This version of the PRoPHET Protocol = 1. 
<p>

<p>Definition at line <a class="el" href="ProphetTLV_8h-source.html#l00038">38</a> of file <a class="el" href="ProphetTLV_8h-source.html">ProphetTLV.h</a>.</p>

<p>Referenced by <a class="el" href="ProphetTLV_8cc-source.html#l00113">prophet::ProphetTLV::deserialize()</a>, and <a class="el" href="ProphetTLV_8cc-source.html#l00062">prophet::ProphetTLV::serialize()</a>.</p>

</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="ProphetTLV_8h-source.html">ProphetTLV.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jan 30 09:27:06 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>