Sophie

Sophie

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

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_ipc.h File 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><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>dtn_ipc.h File Reference</h1><code>#include &lt;rpc/rpc.h&gt;</code><br>

<p>
<a href="dtn__ipc_8h-source.html">Go to the source code of this file.</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="structdtnipc__handle.html">dtnipc_handle</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="structState.html">State</a> of a DTN IPC channel.  <a href="structdtnipc__handle.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtn__ipc_8h.html#2afeec365b4613086d19c23e8551d838">DTN_IPC_VERSION</a>&nbsp;&nbsp;&nbsp;6</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DTN IPC version.  <a href="#2afeec365b4613086d19c23e8551d838"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtn__ipc_8h.html#7f9f6b66a37fb74f861dec857888c0ba">DTN_IPC_PORT</a>&nbsp;&nbsp;&nbsp;5010</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default api ports.  <a href="#7f9f6b66a37fb74f861dec857888c0ba"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtn__ipc_8h.html#51d06f90137293f017ba7e9019d6602f">DTN_MAX_API_MSG</a>&nbsp;&nbsp;&nbsp;65536</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The maximum IPC message size (in bytes).  <a href="#51d06f90137293f017ba7e9019d6602f"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="structdtnipc__handle.html">dtnipc_handle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtn__ipc_8h.html#052f7e976c7cd02ed8ed65b073f89b2b">dtnipc_handle_t</a></td></tr>

<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtn__ipc_8h.html#c05301bf9560764f5e97fba507ef9e5d">dtnapi_message_type_t</a> { <br>
&nbsp;&nbsp;<a class="el" href="dtn__ipc_8h.html#c05301bf9560764f5e97fba507ef9e5d4e9e92913a117e7b6c92b2dee3eab867">DTN_OPEN</a> =  1, 
<a class="el" href="dtn__ipc_8h.html#c05301bf9560764f5e97fba507ef9e5d88988342732cf7736a9a17338475582e">DTN_CLOSE</a> =  2, 
<a class="el" href="dtn__ipc_8h.html#c05301bf9560764f5e97fba507ef9e5d92dab95353850a6e914e4008347f07c7">DTN_LOCAL_EID</a> =  3, 
<a class="el" href="dtn__ipc_8h.html#c05301bf9560764f5e97fba507ef9e5de7933a4eff1b95879d4a353df40b195f">DTN_REGISTER</a> =  4, 
<br>
&nbsp;&nbsp;<a class="el" href="dtn__ipc_8h.html#c05301bf9560764f5e97fba507ef9e5d1e3888bf2ac2f73a90c6c142080279f5">DTN_UNREGISTER</a> =  5, 
<a class="el" href="dtn__ipc_8h.html#c05301bf9560764f5e97fba507ef9e5df41ecaa2e442e281718ce6c7cd88fe30">DTN_FIND_REGISTRATION</a> =  6, 
<a class="el" href="dtn__ipc_8h.html#c05301bf9560764f5e97fba507ef9e5debfbbd5cdea8d1c82c92fe89b50d1b0f">DTN_CHANGE_REGISTRATION</a> =  7, 
<a class="el" href="dtn__ipc_8h.html#c05301bf9560764f5e97fba507ef9e5d59676a9e0dd2cf2a2ebb493721f50198">DTN_BIND</a> =  8, 
<br>
&nbsp;&nbsp;<a class="el" href="dtn__ipc_8h.html#c05301bf9560764f5e97fba507ef9e5d801be28596a84f1a0ec58c57eac06b5b">DTN_UNBIND</a> =  9, 
<a class="el" href="dtn__ipc_8h.html#c05301bf9560764f5e97fba507ef9e5d00609e70cdd50ac4a6d989603c2976bf">DTN_SEND</a> =  10, 
<a class="el" href="dtn__ipc_8h.html#c05301bf9560764f5e97fba507ef9e5da5a90d9130e7ad725dede5a0c4110495">DTN_RECV</a> =  11, 
<a class="el" href="dtn__ipc_8h.html#c05301bf9560764f5e97fba507ef9e5d5f4461d4add4e2832436f9c8ae25e61e">DTN_BEGIN_POLL</a> =  12, 
<br>
&nbsp;&nbsp;<a class="el" href="dtn__ipc_8h.html#c05301bf9560764f5e97fba507ef9e5df37b9c7e51b4309e5f3ca74a8b743c3b">DTN_CANCEL_POLL</a> =  13, 
<a class="el" href="dtn__ipc_8h.html#c05301bf9560764f5e97fba507ef9e5d8ac916eaefdf27a024e85c5a71ef7caf">DTN_CANCEL</a> =  14, 
<a class="el" href="dtn__ipc_8h.html#c05301bf9560764f5e97fba507ef9e5d7f9ec4960a1d48ce448a1f7c2dfc0d5a">DTN_SESSION_UPDATE</a> =  15
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type codes for api messages.  <a href="dtn__ipc_8h.html#c05301bf9560764f5e97fba507ef9e5d">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtn__ipc_8h.html#c5707d2923063f6fe2bde512f525f72b">dtnipc_msgtoa</a> (u_int8_t type)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type code to string conversion routine.  <a href="#c5707d2923063f6fe2bde512f525f72b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtn__ipc_8h.html#0a70871adbaca23a535c898f854be3a8">dtnipc_open</a> (<a class="el" href="structdtnipc__handle.html">dtnipc_handle_t</a> *<a class="el" href="dtncat_8c.html#01daea96255bb21a8979b3b45f5bbb70">handle</a>)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtn__ipc_8h.html#ca3de731f1395d03269a608a915d7539">dtnipc_close</a> (<a class="el" href="structdtnipc__handle.html">dtnipc_handle_t</a> *<a class="el" href="dtncat_8c.html#01daea96255bb21a8979b3b45f5bbb70">handle</a>)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtn__ipc_8h.html#0c513c4c8a2438b359d7b53cec93e491">dtnipc_send</a> (<a class="el" href="structdtnipc__handle.html">dtnipc_handle_t</a> *<a class="el" href="dtncat_8c.html#01daea96255bb21a8979b3b45f5bbb70">handle</a>, <a class="el" href="dtn__ipc_8h.html#c05301bf9560764f5e97fba507ef9e5d">dtnapi_message_type_t</a> type)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtn__ipc_8h.html#92414569c9a91e622d91bfcb8d711045">dtnipc_recv</a> (<a class="el" href="structdtnipc__handle.html">dtnipc_handle_t</a> *<a class="el" href="dtncat_8c.html#01daea96255bb21a8979b3b45f5bbb70">handle</a>, int *status)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtn__ipc_8h.html#2e471ca046cc85566e16b9f60ef9937e">dtnipc_send_recv</a> (<a class="el" href="structdtnipc__handle.html">dtnipc_handle_t</a> *<a class="el" href="dtncat_8c.html#01daea96255bb21a8979b3b45f5bbb70">handle</a>, <a class="el" href="dtn__ipc_8h.html#c05301bf9560764f5e97fba507ef9e5d">dtnapi_message_type_t</a> type)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a message and wait for a response over the <a class="el" href="namespacedtn.html" title="Namespace for the dtn daemon source code.">dtn</a> ipc protocol.  <a href="#2e471ca046cc85566e16b9f60ef9937e"></a><br></td></tr>
</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="7f9f6b66a37fb74f861dec857888c0ba"></a><!-- doxytag: member="dtn_ipc.h::DTN_IPC_PORT" ref="7f9f6b66a37fb74f861dec857888c0ba" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DTN_IPC_PORT&nbsp;&nbsp;&nbsp;5010          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Default api ports. 
<p>
The handshake port is used for initial contact with the daemon to establish a session, and the latter is used for individual sessions. 
<p>Definition at line <a class="el" href="dtn__ipc_8h-source.html#l00055">55</a> of file <a class="el" href="dtn__ipc_8h-source.html">dtn_ipc.h</a>.</p>

<p>Referenced by <a class="el" href="APIServer_8cc-source.html#l00056">dtn::APIServer::APIServer()</a>, and <a class="el" href="dtn__ipc_8c-source.html#l00072">dtnipc_open()</a>.</p>

</div>
</div><p>
<a class="anchor" name="2afeec365b4613086d19c23e8551d838"></a><!-- doxytag: member="dtn_ipc.h::DTN_IPC_VERSION" ref="2afeec365b4613086d19c23e8551d838" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DTN_IPC_VERSION&nbsp;&nbsp;&nbsp;6          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
DTN IPC version. 
<p>
Just a simple number for now; we can refine it to a major/minor version later if desired.<p>
This currently cannot exceed 16 bits in width.<p>
Make sure to bump this when changing any data structures, message types, adding functions, etc. 
<p>Definition at line <a class="el" href="dtn__ipc_8h-source.html#l00048">48</a> of file <a class="el" href="dtn__ipc_8h-source.html">dtn_ipc.h</a>.</p>

<p>Referenced by <a class="el" href="APIServer_8cc-source.html#l00236">dtn::APIClient::handle_handshake()</a>, and <a class="el" href="dtntest_8cc-source.html#l00058">DTNOpenCommand::init_opts()</a>.</p>

</div>
</div><p>
<a class="anchor" name="51d06f90137293f017ba7e9019d6602f"></a><!-- doxytag: member="dtn_ipc.h::DTN_MAX_API_MSG" ref="51d06f90137293f017ba7e9019d6602f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DTN_MAX_API_MSG&nbsp;&nbsp;&nbsp;65536          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The maximum IPC message size (in bytes). 
<p>
Used primarily for efficiency in buffer allocation since the transport uses TCP. 
<p>Definition at line <a class="el" href="dtn__ipc_8h-source.html#l00061">61</a> of file <a class="el" href="dtn__ipc_8h-source.html">dtn_ipc.h</a>.</p>

<p>Referenced by <a class="el" href="APIServer_8cc-source.html#l00185">dtn::APIClient::APIClient()</a>, and <a class="el" href="dtn__ipc_8c-source.html#l00072">dtnipc_open()</a>.</p>

</div>
</div><p>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="052f7e976c7cd02ed8ed65b073f89b2b"></a><!-- doxytag: member="dtn_ipc.h::dtnipc_handle_t" ref="052f7e976c7cd02ed8ed65b073f89b2b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structdtnipc__handle.html">dtnipc_handle</a> <a class="el" href="structdtnipc__handle.html">dtnipc_handle_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="dtn__ipc_8h-source.html#l00078">78</a> of file <a class="el" href="dtn__ipc_8h-source.html">dtn_ipc.h</a>.</p>

</div>
</div><p>
<hr><h2>Enumeration Type Documentation</h2>
<a class="anchor" name="c05301bf9560764f5e97fba507ef9e5d"></a><!-- doxytag: member="dtn_ipc.h::dtnapi_message_type_t" ref="c05301bf9560764f5e97fba507ef9e5d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="dtn__ipc_8h.html#c05301bf9560764f5e97fba507ef9e5d">dtnapi_message_type_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Type codes for api messages. 
<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="c05301bf9560764f5e97fba507ef9e5d4e9e92913a117e7b6c92b2dee3eab867"></a><!-- doxytag: member="DTN_OPEN" ref="c05301bf9560764f5e97fba507ef9e5d4e9e92913a117e7b6c92b2dee3eab867" args="" -->DTN_OPEN</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="c05301bf9560764f5e97fba507ef9e5d88988342732cf7736a9a17338475582e"></a><!-- doxytag: member="DTN_CLOSE" ref="c05301bf9560764f5e97fba507ef9e5d88988342732cf7736a9a17338475582e" args="" -->DTN_CLOSE</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="c05301bf9560764f5e97fba507ef9e5d92dab95353850a6e914e4008347f07c7"></a><!-- doxytag: member="DTN_LOCAL_EID" ref="c05301bf9560764f5e97fba507ef9e5d92dab95353850a6e914e4008347f07c7" args="" -->DTN_LOCAL_EID</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="c05301bf9560764f5e97fba507ef9e5de7933a4eff1b95879d4a353df40b195f"></a><!-- doxytag: member="DTN_REGISTER" ref="c05301bf9560764f5e97fba507ef9e5de7933a4eff1b95879d4a353df40b195f" args="" -->DTN_REGISTER</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="c05301bf9560764f5e97fba507ef9e5d1e3888bf2ac2f73a90c6c142080279f5"></a><!-- doxytag: member="DTN_UNREGISTER" ref="c05301bf9560764f5e97fba507ef9e5d1e3888bf2ac2f73a90c6c142080279f5" args="" -->DTN_UNREGISTER</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="c05301bf9560764f5e97fba507ef9e5df41ecaa2e442e281718ce6c7cd88fe30"></a><!-- doxytag: member="DTN_FIND_REGISTRATION" ref="c05301bf9560764f5e97fba507ef9e5df41ecaa2e442e281718ce6c7cd88fe30" args="" -->DTN_FIND_REGISTRATION</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="c05301bf9560764f5e97fba507ef9e5debfbbd5cdea8d1c82c92fe89b50d1b0f"></a><!-- doxytag: member="DTN_CHANGE_REGISTRATION" ref="c05301bf9560764f5e97fba507ef9e5debfbbd5cdea8d1c82c92fe89b50d1b0f" args="" -->DTN_CHANGE_REGISTRATION</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="c05301bf9560764f5e97fba507ef9e5d59676a9e0dd2cf2a2ebb493721f50198"></a><!-- doxytag: member="DTN_BIND" ref="c05301bf9560764f5e97fba507ef9e5d59676a9e0dd2cf2a2ebb493721f50198" args="" -->DTN_BIND</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="c05301bf9560764f5e97fba507ef9e5d801be28596a84f1a0ec58c57eac06b5b"></a><!-- doxytag: member="DTN_UNBIND" ref="c05301bf9560764f5e97fba507ef9e5d801be28596a84f1a0ec58c57eac06b5b" args="" -->DTN_UNBIND</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="c05301bf9560764f5e97fba507ef9e5d00609e70cdd50ac4a6d989603c2976bf"></a><!-- doxytag: member="DTN_SEND" ref="c05301bf9560764f5e97fba507ef9e5d00609e70cdd50ac4a6d989603c2976bf" args="" -->DTN_SEND</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="c05301bf9560764f5e97fba507ef9e5da5a90d9130e7ad725dede5a0c4110495"></a><!-- doxytag: member="DTN_RECV" ref="c05301bf9560764f5e97fba507ef9e5da5a90d9130e7ad725dede5a0c4110495" args="" -->DTN_RECV</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="c05301bf9560764f5e97fba507ef9e5d5f4461d4add4e2832436f9c8ae25e61e"></a><!-- doxytag: member="DTN_BEGIN_POLL" ref="c05301bf9560764f5e97fba507ef9e5d5f4461d4add4e2832436f9c8ae25e61e" args="" -->DTN_BEGIN_POLL</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="c05301bf9560764f5e97fba507ef9e5df37b9c7e51b4309e5f3ca74a8b743c3b"></a><!-- doxytag: member="DTN_CANCEL_POLL" ref="c05301bf9560764f5e97fba507ef9e5df37b9c7e51b4309e5f3ca74a8b743c3b" args="" -->DTN_CANCEL_POLL</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="c05301bf9560764f5e97fba507ef9e5d8ac916eaefdf27a024e85c5a71ef7caf"></a><!-- doxytag: member="DTN_CANCEL" ref="c05301bf9560764f5e97fba507ef9e5d8ac916eaefdf27a024e85c5a71ef7caf" args="" -->DTN_CANCEL</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="c05301bf9560764f5e97fba507ef9e5d7f9ec4960a1d48ce448a1f7c2dfc0d5a"></a><!-- doxytag: member="DTN_SESSION_UPDATE" ref="c05301bf9560764f5e97fba507ef9e5d7f9ec4960a1d48ce448a1f7c2dfc0d5a" args="" -->DTN_SESSION_UPDATE</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="dtn__ipc_8h-source.html#l00083">83</a> of file <a class="el" href="dtn__ipc_8h-source.html">dtn_ipc.h</a>.</p>

</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="ca3de731f1395d03269a608a915d7539"></a><!-- doxytag: member="dtn_ipc.h::dtnipc_close" ref="ca3de731f1395d03269a608a915d7539" args="(dtnipc_handle_t *handle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dtnipc_close           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structdtnipc__handle.html">dtnipc_handle_t</a> *&nbsp;</td>
          <td class="paramname"> <em>handle</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="dtn__ipc_8c-source.html#l00203">203</a> of file <a class="el" href="dtn__ipc_8c-source.html">dtn_ipc.c</a>.</p>

<p>References <a class="el" href="dtn__ipc_8h-source.html#l00085">DTN_CLOSE</a>, <a class="el" href="dtn__errno_8h-source.html#l00031">DTN_ECOMM</a>, <a class="el" href="dtn__ipc_8c-source.html#l00361">dtnipc_send_recv()</a>, <a class="el" href="dtn__ipc_8h-source.html#l00068">dtnipc_handle::err</a>, <a class="el" href="dtn__ipc_8h-source.html#l00067">dtnipc_handle::sock</a>, <a class="el" href="dtn__ipc_8h-source.html#l00073">dtnipc_handle::xdr_decode</a>, and <a class="el" href="dtn__ipc_8h-source.html#l00072">dtnipc_handle::xdr_encode</a>.</p>

<p>Referenced by <a class="el" href="dtn__api_8c-source.html#l00065">dtn_close()</a>, <a class="el" href="dtn__ipc_8c-source.html#l00072">dtnipc_open()</a>, <a class="el" href="dtn__ipc_8c-source.html#l00294">dtnipc_recv()</a>, and <a class="el" href="dtn__ipc_8c-source.html#l00233">dtnipc_send()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c5707d2923063f6fe2bde512f525f72b"></a><!-- doxytag: member="dtn_ipc.h::dtnipc_msgtoa" ref="c5707d2923063f6fe2bde512f525f72b" args="(u_int8_t type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* dtnipc_msgtoa           </td>
          <td>(</td>
          <td class="paramtype">u_int8_t&nbsp;</td>
          <td class="paramname"> <em>type</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Type code to string conversion routine. 
<p>

<p>Definition at line <a class="el" href="dtn__ipc_8c-source.html#l00041">41</a> of file <a class="el" href="dtn__ipc_8c-source.html">dtn_ipc.c</a>.</p>

<p>References <a class="el" href="dtn__ipc_8c.html#6d24efd83036c2dde8d9100adb9abffd">CASE</a>, <a class="el" href="dtn__ipc_8h-source.html#l00095">DTN_BEGIN_POLL</a>, <a class="el" href="dtn__ipc_8h-source.html#l00091">DTN_BIND</a>, <a class="el" href="dtn__ipc_8h-source.html#l00097">DTN_CANCEL</a>, <a class="el" href="dtn__ipc_8h-source.html#l00096">DTN_CANCEL_POLL</a>, <a class="el" href="dtn__ipc_8h-source.html#l00090">DTN_CHANGE_REGISTRATION</a>, <a class="el" href="dtn__ipc_8h-source.html#l00085">DTN_CLOSE</a>, <a class="el" href="dtn__ipc_8h-source.html#l00089">DTN_FIND_REGISTRATION</a>, <a class="el" href="dtn__ipc_8h-source.html#l00086">DTN_LOCAL_EID</a>, <a class="el" href="dtn__ipc_8h-source.html#l00084">DTN_OPEN</a>, <a class="el" href="dtn__ipc_8h-source.html#l00094">DTN_RECV</a>, <a class="el" href="dtn__ipc_8h-source.html#l00087">DTN_REGISTER</a>, <a class="el" href="dtn__ipc_8h-source.html#l00093">DTN_SEND</a>, <a class="el" href="dtn__ipc_8h-source.html#l00098">DTN_SESSION_UPDATE</a>, and <a class="el" href="dtn__ipc_8h-source.html#l00088">DTN_UNREGISTER</a>.</p>

<p>Referenced by <a class="el" href="dtn__ipc_8c-source.html#l00233">dtnipc_send()</a>, <a class="el" href="APIServer_8cc-source.html#l01454">dtn::APIClient::handle_begin_poll()</a>, and <a class="el" href="APIServer_8cc-source.html#l00283">dtn::APIClient::run()</a>.</p>

</div>
</div><p>
<a class="anchor" name="0a70871adbaca23a535c898f854be3a8"></a><!-- doxytag: member="dtn_ipc.h::dtnipc_open" ref="0a70871adbaca23a535c898f854be3a8" args="(dtnipc_handle_t *handle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dtnipc_open           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structdtnipc__handle.html">dtnipc_handle_t</a> *&nbsp;</td>
          <td class="paramname"> <em>handle</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="dtn__ipc_8c-source.html#l00072">72</a> of file <a class="el" href="dtn__ipc_8c-source.html">dtn_ipc.c</a>.</p>

<p>References <a class="el" href="dtn__ipc_8h-source.html#l00071">dtnipc_handle::buf</a>, <a class="el" href="dtn__ipc_8h-source.html#l00070">dtnipc_handle::debug</a>, <a class="el" href="dtn__errno_8h-source.html#l00031">DTN_ECOMM</a>, <a class="el" href="dtn__errno_8h-source.html#l00039">DTN_EVERSION</a>, <a class="el" href="dtn__ipc_8h-source.html#l00055">DTN_IPC_PORT</a>, <a class="el" href="dtn__ipc_8h-source.html#l00061">DTN_MAX_API_MSG</a>, <a class="el" href="dtn__ipc_8h-source.html#l00084">DTN_OPEN</a>, <a class="el" href="dtn__ipc_8c-source.html#l00203">dtnipc_close()</a>, <a class="el" href="dtn__ipc_8c-source.html#l00038">dtnipc_version</a>, <a class="el" href="dtncat_8c-source.html#l00101">end</a>, <a class="el" href="dtn__ipc_8h-source.html#l00068">dtnipc_handle::err</a>, <a class="el" href="IPDiscovery_8cc.html#d65a8842cc674e3ddf69355898c0ecbf">errno</a>, <a class="el" href="dtn__ipc_8h-source.html#l00067">dtnipc_handle::sock</a>, <a class="el" href="dtn__ipc_8h-source.html#l00075">dtnipc_handle::total_rcvd</a>, <a class="el" href="dtn__ipc_8h-source.html#l00074">dtnipc_handle::total_sent</a>, <a class="el" href="dtn__ipc_8h-source.html#l00073">dtnipc_handle::xdr_decode</a>, and <a class="el" href="dtn__ipc_8h-source.html#l00072">dtnipc_handle::xdr_encode</a>.</p>

<p>Referenced by <a class="el" href="dtn__api_8c-source.html#l00039">dtn_open()</a>.</p>

</div>
</div><p>
<a class="anchor" name="92414569c9a91e622d91bfcb8d711045"></a><!-- doxytag: member="dtn_ipc.h::dtnipc_recv" ref="92414569c9a91e622d91bfcb8d711045" args="(dtnipc_handle_t *handle, int *status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dtnipc_recv           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structdtnipc__handle.html">dtnipc_handle_t</a> *&nbsp;</td>
          <td class="paramname"> <em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>status</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="dtn__ipc_8c-source.html#l00294">294</a> of file <a class="el" href="dtn__ipc_8c-source.html">dtn_ipc.c</a>.</p>

<p>References <a class="el" href="dtn__ipc_8h-source.html#l00071">dtnipc_handle::buf</a>, <a class="el" href="dtn__ipc_8h-source.html#l00070">dtnipc_handle::debug</a>, <a class="el" href="dtn__errno_8h-source.html#l00031">DTN_ECOMM</a>, <a class="el" href="dtn__ipc_8c-source.html#l00203">dtnipc_close()</a>, <a class="el" href="dtn__ipc_8h-source.html#l00068">dtnipc_handle::err</a>, <a class="el" href="IPDiscovery_8cc.html#d65a8842cc674e3ddf69355898c0ecbf">errno</a>, <a class="el" href="num2sdnv_8c-source.html#l00034">len</a>, <a class="el" href="dtn__ipc_8h-source.html#l00067">dtnipc_handle::sock</a>, <a class="el" href="dtn__ipc_8h-source.html#l00075">dtnipc_handle::total_rcvd</a>, <a class="el" href="dtn__ipc_8h-source.html#l00074">dtnipc_handle::total_sent</a>, and <a class="el" href="dtn__ipc_8h-source.html#l00073">dtnipc_handle::xdr_decode</a>.</p>

<p>Referenced by <a class="el" href="dtn__api_8c-source.html#l00088">dtn_build_local_eid()</a>, <a class="el" href="dtn__api_8c-source.html#l00634">dtn_cancel_poll()</a>, <a class="el" href="dtn__api_8c-source.html#l00235">dtn_find_registration()</a>, <a class="el" href="dtn__api_8c-source.html#l00430">dtn_recv()</a>, <a class="el" href="dtn__api_8c-source.html#l00147">dtn_register()</a>, <a class="el" href="dtn__api_8c-source.html#l00545">dtn_session_update()</a>, <a class="el" href="dtn__api_8c-source.html#l00195">dtn_unregister()</a>, and <a class="el" href="dtn__ipc_8c-source.html#l00361">dtnipc_send_recv()</a>.</p>

</div>
</div><p>
<a class="anchor" name="0c513c4c8a2438b359d7b53cec93e491"></a><!-- doxytag: member="dtn_ipc.h::dtnipc_send" ref="0c513c4c8a2438b359d7b53cec93e491" args="(dtnipc_handle_t *handle, dtnapi_message_type_t type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dtnipc_send           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structdtnipc__handle.html">dtnipc_handle_t</a> *&nbsp;</td>
          <td class="paramname"> <em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dtn__ipc_8h.html#c05301bf9560764f5e97fba507ef9e5d">dtnapi_message_type_t</a>&nbsp;</td>
          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="dtn__ipc_8c-source.html#l00233">233</a> of file <a class="el" href="dtn__ipc_8c-source.html">dtn_ipc.c</a>.</p>

<p>References <a class="el" href="dtn__ipc_8h-source.html#l00071">dtnipc_handle::buf</a>, <a class="el" href="dtn__ipc_8h-source.html#l00070">dtnipc_handle::debug</a>, <a class="el" href="dtn__errno_8h-source.html#l00031">DTN_ECOMM</a>, <a class="el" href="dtn__ipc_8c-source.html#l00203">dtnipc_close()</a>, <a class="el" href="dtn__ipc_8c-source.html#l00041">dtnipc_msgtoa()</a>, <a class="el" href="dtn__ipc_8h-source.html#l00068">dtnipc_handle::err</a>, <a class="el" href="IPDiscovery_8cc.html#d65a8842cc674e3ddf69355898c0ecbf">errno</a>, <a class="el" href="num2sdnv_8c-source.html#l00034">len</a>, <a class="el" href="dtn__ipc_8h-source.html#l00067">dtnipc_handle::sock</a>, <a class="el" href="dtn__ipc_8h-source.html#l00075">dtnipc_handle::total_rcvd</a>, <a class="el" href="dtn__ipc_8h-source.html#l00074">dtnipc_handle::total_sent</a>, and <a class="el" href="dtn__ipc_8h-source.html#l00072">dtnipc_handle::xdr_encode</a>.</p>

<p>Referenced by <a class="el" href="dtn__api_8c-source.html#l00604">dtn_begin_poll()</a>, <a class="el" href="dtn__api_8c-source.html#l00088">dtn_build_local_eid()</a>, <a class="el" href="dtn__api_8c-source.html#l00235">dtn_find_registration()</a>, <a class="el" href="dtn__api_8c-source.html#l00147">dtn_register()</a>, <a class="el" href="dtn__api_8c-source.html#l00195">dtn_unregister()</a>, and <a class="el" href="dtn__ipc_8c-source.html#l00361">dtnipc_send_recv()</a>.</p>

</div>
</div><p>
<a class="anchor" name="2e471ca046cc85566e16b9f60ef9937e"></a><!-- doxytag: member="dtn_ipc.h::dtnipc_send_recv" ref="2e471ca046cc85566e16b9f60ef9937e" args="(dtnipc_handle_t *handle, dtnapi_message_type_t type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dtnipc_send_recv           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structdtnipc__handle.html">dtnipc_handle_t</a> *&nbsp;</td>
          <td class="paramname"> <em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dtn__ipc_8h.html#c05301bf9560764f5e97fba507ef9e5d">dtnapi_message_type_t</a>&nbsp;</td>
          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Send a message and wait for a response over the <a class="el" href="namespacedtn.html" title="Namespace for the dtn daemon source code.">dtn</a> ipc protocol. 
<p>
Returns 0 on success, -1 on error. 
<p>Definition at line <a class="el" href="dtn__ipc_8c-source.html#l00361">361</a> of file <a class="el" href="dtn__ipc_8c-source.html">dtn_ipc.c</a>.</p>

<p>References <a class="el" href="dtn__errno_8h-source.html#l00027">DTN_SUCCESS</a>, <a class="el" href="dtn__ipc_8c-source.html#l00294">dtnipc_recv()</a>, <a class="el" href="dtn__ipc_8c-source.html#l00233">dtnipc_send()</a>, and <a class="el" href="dtn__ipc_8h-source.html#l00068">dtnipc_handle::err</a>.</p>

<p>Referenced by <a class="el" href="dtn__api_8c-source.html#l00305">dtn_bind()</a>, <a class="el" href="dtn__api_8c-source.html#l00402">dtn_cancel()</a>, <a class="el" href="dtn__api_8c-source.html#l00634">dtn_cancel_poll()</a>, <a class="el" href="dtn__api_8c-source.html#l00430">dtn_recv()</a>, <a class="el" href="dtn__api_8c-source.html#l00359">dtn_send()</a>, <a class="el" href="dtn__api_8c-source.html#l00545">dtn_session_update()</a>, <a class="el" href="dtn__api_8c-source.html#l00332">dtn_unbind()</a>, and <a class="el" href="dtn__ipc_8c-source.html#l00203">dtnipc_close()</a>.</p>

</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jan 30 09:27:00 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>