<!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: serialsource.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 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 List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>serialsource.h File Reference</h1> <p> <a href="serialsource_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>Typedefs</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="structserial__source.html">serial_source</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="serialsource_8h.html#07866e01fe89a6df45c0888da2865713">serial_source</a></td></tr> <tr><td colspan="2"><br><h2>Enumerations</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="serialsource_8h.html#606dc90f6ac5ac49f0296e9b7111b640">serial_source_msg</a> { <br> <a class="el" href="serialsource_8h.html#606dc90f6ac5ac49f0296e9b7111b6407b84f7820f720f231d4d46b347b07c03">msg_unknown_packet_type</a>, <a class="el" href="serialsource_8h.html#606dc90f6ac5ac49f0296e9b7111b640e07631bc83a246a96163fe87767f61e5">msg_ack_timeout</a>, <a class="el" href="serialsource_8h.html#606dc90f6ac5ac49f0296e9b7111b640b901edba7e44ef5b3a94da2354ca7f39">msg_sync</a>, <a class="el" href="serialsource_8h.html#606dc90f6ac5ac49f0296e9b7111b640059f9acc718f1249381695305c6318d6">msg_too_long</a>, <br> <a class="el" href="serialsource_8h.html#606dc90f6ac5ac49f0296e9b7111b6402ae7360e7fa9dec3d9e566d9baf03170">msg_too_short</a>, <a class="el" href="serialsource_8h.html#606dc90f6ac5ac49f0296e9b7111b6407cf8a46ffe9feae3d810dc97122ca118">msg_bad_sync</a>, <a class="el" href="serialsource_8h.html#606dc90f6ac5ac49f0296e9b7111b640dd5436d5122a3164349104347834e117">msg_bad_crc</a>, <a class="el" href="serialsource_8h.html#606dc90f6ac5ac49f0296e9b7111b6400aef5624e43b2ca76b450011d2c7bd6b">msg_closed</a>, <br> <a class="el" href="serialsource_8h.html#606dc90f6ac5ac49f0296e9b7111b64043799e5977806a4559729141f049150c">msg_no_memory</a>, <a class="el" href="serialsource_8h.html#606dc90f6ac5ac49f0296e9b7111b640e997903e7fd3c99317e9641835d74422">msg_unix_error</a> <br> }</td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structserial__source.html">serial_source</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="serialsource_8h.html#1f56b3ed3ca860efcd58d5c212b17066">open_serial_source</a> (const char *device, int baud_rate, int non_blocking, void(*message)(<a class="el" href="serialsource_8h.html#606dc90f6ac5ac49f0296e9b7111b640">serial_source_msg</a> problem))</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="serialsource_8h.html#3af9a5741985286f184a3c75f2d4da0f">serial_source_fd</a> (<a class="el" href="structserial__source.html">serial_source</a> <a class="el" href="dtnmoteproxy_8c.html#e1ade0f5a1b32f6c8be72f31a99e2a18">src</a>)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="serialsource_8h.html#1e56d589bd8f636209b2b9704f3ab6e9">serial_source_empty</a> (<a class="el" href="structserial__source.html">serial_source</a> <a class="el" href="dtnmoteproxy_8c.html#e1ade0f5a1b32f6c8be72f31a99e2a18">src</a>)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="serialsource_8h.html#4bd86ad93ca5b213f3031ce800eca733">close_serial_source</a> (<a class="el" href="structserial__source.html">serial_source</a> <a class="el" href="dtnmoteproxy_8c.html#e1ade0f5a1b32f6c8be72f31a99e2a18">src</a>)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="serialsource_8h.html#ecafeccd1e584af0ad57764d1b05c962">read_serial_packet</a> (<a class="el" href="structserial__source.html">serial_source</a> <a class="el" href="dtnmoteproxy_8c.html#e1ade0f5a1b32f6c8be72f31a99e2a18">src</a>, int *len)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="serialsource_8h.html#eebe330155e6cd027ac65ee6ed73c2db">write_serial_packet</a> (<a class="el" href="structserial__source.html">serial_source</a> <a class="el" href="dtnmoteproxy_8c.html#e1ade0f5a1b32f6c8be72f31a99e2a18">src</a>, const void *packet, int len)</td></tr> </table> <hr><h2>Typedef Documentation</h2> <a class="anchor" name="07866e01fe89a6df45c0888da2865713"></a><!-- doxytag: member="serialsource.h::serial_source" ref="07866e01fe89a6df45c0888da2865713" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structserial__source.html">serial_source</a>* <a class="el" href="structserial__source.html">serial_source</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="serialsource_8h-source.html#l00020">20</a> of file <a class="el" href="serialsource_8h-source.html">serialsource.h</a>.</p> </div> </div><p> <hr><h2>Enumeration Type Documentation</h2> <a class="anchor" name="606dc90f6ac5ac49f0296e9b7111b640"></a><!-- doxytag: member="serialsource.h::serial_source_msg" ref="606dc90f6ac5ac49f0296e9b7111b640" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="serialsource_8h.html#606dc90f6ac5ac49f0296e9b7111b640">serial_source_msg</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="606dc90f6ac5ac49f0296e9b7111b6407b84f7820f720f231d4d46b347b07c03"></a><!-- doxytag: member="msg_unknown_packet_type" ref="606dc90f6ac5ac49f0296e9b7111b6407b84f7820f720f231d4d46b347b07c03" args="" -->msg_unknown_packet_type</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" name="606dc90f6ac5ac49f0296e9b7111b640e07631bc83a246a96163fe87767f61e5"></a><!-- doxytag: member="msg_ack_timeout" ref="606dc90f6ac5ac49f0296e9b7111b640e07631bc83a246a96163fe87767f61e5" args="" -->msg_ack_timeout</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" name="606dc90f6ac5ac49f0296e9b7111b640b901edba7e44ef5b3a94da2354ca7f39"></a><!-- doxytag: member="msg_sync" ref="606dc90f6ac5ac49f0296e9b7111b640b901edba7e44ef5b3a94da2354ca7f39" args="" -->msg_sync</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" name="606dc90f6ac5ac49f0296e9b7111b640059f9acc718f1249381695305c6318d6"></a><!-- doxytag: member="msg_too_long" ref="606dc90f6ac5ac49f0296e9b7111b640059f9acc718f1249381695305c6318d6" args="" -->msg_too_long</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" name="606dc90f6ac5ac49f0296e9b7111b6402ae7360e7fa9dec3d9e566d9baf03170"></a><!-- doxytag: member="msg_too_short" ref="606dc90f6ac5ac49f0296e9b7111b6402ae7360e7fa9dec3d9e566d9baf03170" args="" -->msg_too_short</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" name="606dc90f6ac5ac49f0296e9b7111b6407cf8a46ffe9feae3d810dc97122ca118"></a><!-- doxytag: member="msg_bad_sync" ref="606dc90f6ac5ac49f0296e9b7111b6407cf8a46ffe9feae3d810dc97122ca118" args="" -->msg_bad_sync</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" name="606dc90f6ac5ac49f0296e9b7111b640dd5436d5122a3164349104347834e117"></a><!-- doxytag: member="msg_bad_crc" ref="606dc90f6ac5ac49f0296e9b7111b640dd5436d5122a3164349104347834e117" args="" -->msg_bad_crc</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" name="606dc90f6ac5ac49f0296e9b7111b6400aef5624e43b2ca76b450011d2c7bd6b"></a><!-- doxytag: member="msg_closed" ref="606dc90f6ac5ac49f0296e9b7111b6400aef5624e43b2ca76b450011d2c7bd6b" args="" -->msg_closed</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" name="606dc90f6ac5ac49f0296e9b7111b64043799e5977806a4559729141f049150c"></a><!-- doxytag: member="msg_no_memory" ref="606dc90f6ac5ac49f0296e9b7111b64043799e5977806a4559729141f049150c" args="" -->msg_no_memory</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" name="606dc90f6ac5ac49f0296e9b7111b640e997903e7fd3c99317e9641835d74422"></a><!-- doxytag: member="msg_unix_error" ref="606dc90f6ac5ac49f0296e9b7111b640e997903e7fd3c99317e9641835d74422" args="" -->msg_unix_error</em> </td><td> </td></tr> </table> </dl> <p>Definition at line <a class="el" href="serialsource_8h-source.html#l00023">23</a> of file <a class="el" href="serialsource_8h-source.html">serialsource.h</a>.</p> </div> </div><p> <hr><h2>Function Documentation</h2> <a class="anchor" name="4bd86ad93ca5b213f3031ce800eca733"></a><!-- doxytag: member="serialsource.h::close_serial_source" ref="4bd86ad93ca5b213f3031ce800eca733" args="(serial_source src)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int close_serial_source </td> <td>(</td> <td class="paramtype"><a class="el" href="structserial__source.html">serial_source</a> </td> <td class="paramname"> <em>src</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="serialsource_8c-source.html#l00323">323</a> of file <a class="el" href="serialsource_8c-source.html">serialsource.c</a>.</p> <p>References <a class="el" href="serialsource_8c-source.html#l00080">serial_source::fd</a>.</p> </div> </div><p> <a class="anchor" name="1f56b3ed3ca860efcd58d5c212b17066"></a><!-- doxytag: member="serialsource.h::open_serial_source" ref="1f56b3ed3ca860efcd58d5c212b17066" args="(const char *device, int baud_rate, int non_blocking, void(*message)(serial_source_msg problem))" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structserial__source.html">serial_source</a> open_serial_source </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>device</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>baud_rate</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>non_blocking</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void(*)(<a class="el" href="serialsource_8h.html#606dc90f6ac5ac49f0296e9b7111b640">serial_source_msg</a> problem) </td> <td class="paramname"> <em>message</em></td><td> </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="serialsource_8c-source.html#l00253">253</a> of file <a class="el" href="serialsource_8c-source.html">serialsource.c</a>.</p> <p>References <a class="el" href="serialsource_8c-source.html#l00080">serial_source::fd</a>, <a class="el" href="dtnperf-client_8c-source.html#l00115">fd</a>, <a class="el" href="dtncat_8c-source.html#l00095">handle</a>, <a class="el" href="serialsource_8c-source.html#l00215">message()</a>, <a class="el" href="structserial__source.html#20d390a5b238cb165e9626d6f878e913">serial_source::message</a>, <a class="el" href="serialsource_8c-source.html#l00081">serial_source::non_blocking</a>, <a class="el" href="serialsource_8c-source.html#l00101">parse_baudrate()</a>, <a class="el" href="structserial__source.html#ebd7b42167900ad2f3e2d43f3ab49656">serial_source::send</a>, <a class="el" href="serialsource_8c-source.html#l00094">serial_source::seqno</a>, and <a class="el" href="dtnmoteproxy_8c-source.html#l00116">src</a>.</p> <p>Referenced by <a class="el" href="dtnmoteproxy_8c-source.html#l00357">init_motes()</a>.</p> </div> </div><p> <a class="anchor" name="ecafeccd1e584af0ad57764d1b05c962"></a><!-- doxytag: member="serialsource.h::read_serial_packet" ref="ecafeccd1e584af0ad57764d1b05c962" args="(serial_source src, int *len)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* read_serial_packet </td> <td>(</td> <td class="paramtype"><a class="el" href="structserial__source.html">serial_source</a> </td> <td class="paramname"> <em>src</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"> <em>len</em></td><td> </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="serialsource_8c-source.html#l00696">696</a> of file <a class="el" href="serialsource_8c-source.html">serialsource.c</a>.</p> <p>References <a class="el" href="serialsource_8c-source.html#l00075">packet_list::len</a>, <a class="el" href="serialsource_8c-source.html#l00081">serial_source::non_blocking</a>, <a class="el" href="serialsource_8c-source.html#l00068">P_PACKET_NO_ACK</a>, <a class="el" href="serialsource_8c-source.html#l00074">packet_list::packet</a>, <a class="el" href="serialsource_8c-source.html#l00439">pop_protocol_packet()</a>, <a class="el" href="serialsource_8c-source.html#l00537">read_and_process()</a>, <a class="el" href="serialsource_8c-source.html#l00454">serial_source_empty()</a>, and <a class="el" href="serialsource_8c-source.html#l00336">source_wait()</a>.</p> <p>Referenced by <a class="el" href="dtnmoteproxy_8c-source.html#l00140">read_packet()</a>.</p> </div> </div><p> <a class="anchor" name="1e56d589bd8f636209b2b9704f3ab6e9"></a><!-- doxytag: member="serialsource.h::serial_source_empty" ref="1e56d589bd8f636209b2b9704f3ab6e9" args="(serial_source src)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int serial_source_empty </td> <td>(</td> <td class="paramtype"><a class="el" href="structserial__source.html">serial_source</a> </td> <td class="paramname"> <em>src</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="serialsource_8c-source.html#l00454">454</a> of file <a class="el" href="serialsource_8c-source.html">serialsource.c</a>.</p> <p>References <a class="el" href="serialsource_8c-source.html#l00087">serial_source::bufpos</a>, <a class="el" href="serialsource_8c-source.html#l00087">serial_source::bufused</a>, <a class="el" href="serialsource_8c-source.html#l00068">P_PACKET_NO_ACK</a>, <a class="el" href="serialsource_8c-source.html#l00449">packet_available()</a>, and <a class="el" href="structserial__source.html#292f94cd16d6dcc1da81db3a586818a1">serial_source::recv</a>.</p> <p>Referenced by <a class="el" href="serialsource_8c-source.html#l00696">read_serial_packet()</a>.</p> </div> </div><p> <a class="anchor" name="3af9a5741985286f184a3c75f2d4da0f"></a><!-- doxytag: member="serialsource.h::serial_source_fd" ref="3af9a5741985286f184a3c75f2d4da0f" args="(serial_source src)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int serial_source_fd </td> <td>(</td> <td class="paramtype"><a class="el" href="structserial__source.html">serial_source</a> </td> <td class="paramname"> <em>src</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="serialsource_8c-source.html#l00315">315</a> of file <a class="el" href="serialsource_8c-source.html">serialsource.c</a>.</p> <p>References <a class="el" href="serialsource_8c-source.html#l00080">serial_source::fd</a>.</p> </div> </div><p> <a class="anchor" name="eebe330155e6cd027ac65ee6ed73c2db"></a><!-- doxytag: member="serialsource.h::write_serial_packet" ref="eebe330155e6cd027ac65ee6ed73c2db" args="(serial_source src, const void *packet, int len)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int write_serial_packet </td> <td>(</td> <td class="paramtype"><a class="el" href="structserial__source.html">serial_source</a> </td> <td class="paramname"> <em>src</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void * </td> <td class="paramname"> <em>packet</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>len</em></td><td> </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="serialsource_8c-source.html#l00822">822</a> of file <a class="el" href="serialsource_8c-source.html">serialsource.c</a>.</p> <p>References <a class="el" href="serialsource_8c-source.html#l00062">ACK_TIMEOUT</a>, <a class="el" href="serialsource_8c-source.html#l00810">add_timeval()</a>, <a class="el" href="serialsource_8c-source.html#l00204">dump()</a>, <a class="el" href="Simulator_8cc-source.html#l00269">dtnsim::gettimeofday()</a>, <a class="el" href="serialsource_8c-source.html#l00066">P_ACK</a>, <a class="el" href="serialsource_8c-source.html#l00067">P_PACKET_ACK</a>, <a class="el" href="serialsource_8c-source.html#l00074">packet_list::packet</a>, <a class="el" href="serialsource_8c-source.html#l00439">pop_protocol_packet()</a>, <a class="el" href="serialsource_8c-source.html#l00537">read_and_process()</a>, <a class="el" href="structserial__source.html#ebd7b42167900ad2f3e2d43f3ab49656">serial_source::send</a>, <a class="el" href="serialsource_8c-source.html#l00094">serial_source::seqno</a>, <a class="el" href="serialsource_8c-source.html#l00336">source_wait()</a>, and <a class="el" href="serialsource_8c-source.html#l00772">write_framed_packet()</a>.</p> <p>Referenced by <a class="el" href="serialsource_8c-source.html#l00647">process_packet()</a>.</p> </div> </div><p> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Fri Jan 30 09:27:01 2009 for DTN Reference Implementation by <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>