<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>UbixOS V2: src/sys/include/net/udp.h File Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.4.7 --> <div class="tabs"> <ul> <li><a href="main.html"><span>Main Page</span></a></li> <li><a href="classes.html"><span>Data Structures</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> <li> <form action="search.php" method="get"> <table cellspacing="0" cellpadding="0" border="0"> <tr> <td><label> <u>S</u>earch for </label></td> <td><input type="text" name="query" value="" size="20" accesskey="s"/></td> </tr> </table> </form> </li> </ul></div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul></div> <div class="nav"> <a class="el" href="dir_897b6a2d7bab147dd1db58381aad3984.html">src</a> » <a class="el" href="dir_832905b1f7f5feaf61a306b40c0ac817.html">sys</a> » <a class="el" href="dir_caf4200c438ae9601464168e21e8e4d8.html">include</a> » <a class="el" href="dir_c1d11d251a83b2498f44d410b793c5eb.html">net</a></div> <h1>udp.h File Reference</h1><code>#include "<a class="el" href="arch_8h-source.html">net/arch.h</a>"</code><br> <code>#include "<a class="el" href="pbuf_8h-source.html">net/pbuf.h</a>"</code><br> <code>#include "<a class="el" href="ipv4_2inet_8h-source.html">net/ipv4/inet.h</a>"</code><br> <code>#include "<a class="el" href="ipv4_2ip_8h-source.html">net/ipv4/ip.h</a>"</code><br> <code>#include "<a class="el" href="err_8h-source.html">net/err.h</a>"</code><br> <p> <a href="udp_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>Data Structures</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structudp__hdr.html">udp_hdr</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structudp__pcb.html">udp_pcb</a></td></tr> <tr><td colspan="2"><br><h2>Defines</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="udp_8h.html#37c8037a85578f1eeeef334f89a0a746">udp_flags</a>(pcb) ((pcb)->flags)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="udp_8h.html#3f1f7350e351cf43afc1cb92361539b7">UDP_FLAGS_NOCHKSUM</a> 0x01</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="udp_8h.html#7bf6b42d94a2249626fd730c52a65cb2">UDP_FLAGS_UDPLITE</a> 0x02</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="udp_8h.html#5e211e5d295f6e70dee42f3083f89e71">UDP_HLEN</a> 8</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="udp_8h.html#9981d8c2b536c2d7051382c9cf27e5b1">udp_setflags</a>(pcb, f) ((pcb)->flags = (f))</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="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="udp_8h.html#aec0b34185f62a12ad61ba5b43b60360">udp_bind</a> (struct <a class="el" href="structudp__pcb.html">udp_pcb</a> *pcb, struct <a class="el" href="structip__addr.html">ip_addr</a> *ipaddr, <a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a> port)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="udp_8h.html#87dbe1b8435cb7f2e2dbfb34e952ccc0">udp_connect</a> (struct <a class="el" href="structudp__pcb.html">udp_pcb</a> *pcb, struct <a class="el" href="structip__addr.html">ip_addr</a> *ipaddr, <a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a> port)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="udp_8h.html#e7f7431ce99333577d7b82b26619309e">udp_init</a> (void)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="udp_8h.html#7b338a5515606bd51976fbc5bcec9611">udp_input</a> (struct <a class="el" href="structpbuf.html">pbuf</a> *p, struct <a class="el" href="structnetif.html">netif</a> *inp)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="udp_8h.html#e941b362859d1f88b90f625a68eface8">udp_lookup</a> (struct <a class="el" href="structip__hdr.html">ip_hdr</a> *iphdr, struct <a class="el" href="structnetif.html">netif</a> *inp)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structudp__pcb.html">udp_pcb</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="udp_8h.html#a6d6430499acae43d342f0e68ddbb209">udp_new</a> (void)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="udp_8h.html#e6e4e0150998bb6e38359418c7461eb1">udp_recv</a> (struct <a class="el" href="structudp__pcb.html">udp_pcb</a> *pcb, void(*recv)(void *arg, struct <a class="el" href="structudp__pcb.html">udp_pcb</a> *upcb, struct <a class="el" href="structpbuf.html">pbuf</a> *p, struct <a class="el" href="structip__addr.html">ip_addr</a> *addr, <a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a> port), void *recv_arg)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="udp_8h.html#3aed8e469f74f960837ebf9f34acf646">udp_remove</a> (struct <a class="el" href="structudp__pcb.html">udp_pcb</a> *pcb)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="udp_8h.html#a4546c43981f043c0ae4514d625cc3fc">udp_send</a> (struct <a class="el" href="structudp__pcb.html">udp_pcb</a> *pcb, struct <a class="el" href="structpbuf.html">pbuf</a> *p)</td></tr> <tr><td colspan="2"><br><h2>Variables</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structudp__hdr.html">udp_hdr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="udp_8h.html#fd3ea29267b7278798fadaebb0c4ffa0">PACK_STRUCT_STRUCT</a></td></tr> </table> <hr><h2>Define Documentation</h2> <a class="anchor" name="37c8037a85578f1eeeef334f89a0a746"></a><!-- doxytag: member="udp.h::udp_flags" ref="37c8037a85578f1eeeef334f89a0a746" args="(pcb)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define udp_flags </td> <td>(</td> <td class="paramtype">pcb </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> ((pcb)->flags)</td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="udp_8h-source.html#l00090">90</a> of file <a class="el" href="udp_8h-source.html">udp.h</a>. </div> </div><p> <a class="anchor" name="3f1f7350e351cf43afc1cb92361539b7"></a><!-- doxytag: member="udp.h::UDP_FLAGS_NOCHKSUM" ref="3f1f7350e351cf43afc1cb92361539b7" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define UDP_FLAGS_NOCHKSUM 0x01 </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="udp_8h-source.html#l00057">57</a> of file <a class="el" href="udp_8h-source.html">udp.h</a>. <p> Referenced by <a class="el" href="api__msg_8c-source.html#l00243">do_bind()</a>, and <a class="el" href="api__msg_8c-source.html#l00305">do_connect()</a>. </div> </div><p> <a class="anchor" name="7bf6b42d94a2249626fd730c52a65cb2"></a><!-- doxytag: member="udp.h::UDP_FLAGS_UDPLITE" ref="7bf6b42d94a2249626fd730c52a65cb2" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define UDP_FLAGS_UDPLITE 0x02 </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="udp_8h-source.html#l00058">58</a> of file <a class="el" href="udp_8h-source.html">udp.h</a>. <p> Referenced by <a class="el" href="api__msg_8c-source.html#l00243">do_bind()</a>, and <a class="el" href="api__msg_8c-source.html#l00305">do_connect()</a>. </div> </div><p> <a class="anchor" name="5e211e5d295f6e70dee42f3083f89e71"></a><!-- doxytag: member="udp.h::UDP_HLEN" ref="5e211e5d295f6e70dee42f3083f89e71" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define UDP_HLEN 8 </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="udp_8h-source.html#l00048">48</a> of file <a class="el" href="udp_8h-source.html">udp.h</a>. </div> </div><p> <a class="anchor" name="9981d8c2b536c2d7051382c9cf27e5b1"></a><!-- doxytag: member="udp.h::udp_setflags" ref="9981d8c2b536c2d7051382c9cf27e5b1" args="(pcb, f)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define udp_setflags </td> <td>(</td> <td class="paramtype">pcb, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">f </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> ((pcb)->flags = (f))</td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="udp_8h-source.html#l00091">91</a> of file <a class="el" href="udp_8h-source.html">udp.h</a>. <p> Referenced by <a class="el" href="api__msg_8c-source.html#l00243">do_bind()</a>, and <a class="el" href="api__msg_8c-source.html#l00305">do_connect()</a>. </div> </div><p> <hr><h2>Function Documentation</h2> <a class="anchor" name="aec0b34185f62a12ad61ba5b43b60360"></a><!-- doxytag: member="udp.h::udp_bind" ref="aec0b34185f62a12ad61ba5b43b60360" args="(struct udp_pcb *pcb, struct ip_addr *ipaddr, uInt16 port)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> udp_bind </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structudp__pcb.html">udp_pcb</a> * </td> <td class="paramname"> <em>pcb</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structip__addr.html">ip_addr</a> * </td> <td class="paramname"> <em>ipaddr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a> </td> <td class="paramname"> <em>port</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Referenced by <a class="el" href="api__msg_8c-source.html#l00243">do_bind()</a>. </div> </div><p> <a class="anchor" name="87dbe1b8435cb7f2e2dbfb34e952ccc0"></a><!-- doxytag: member="udp.h::udp_connect" ref="87dbe1b8435cb7f2e2dbfb34e952ccc0" args="(struct udp_pcb *pcb, struct ip_addr *ipaddr, uInt16 port)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> udp_connect </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structudp__pcb.html">udp_pcb</a> * </td> <td class="paramname"> <em>pcb</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structip__addr.html">ip_addr</a> * </td> <td class="paramname"> <em>ipaddr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a> </td> <td class="paramname"> <em>port</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Referenced by <a class="el" href="api__msg_8c-source.html#l00305">do_connect()</a>. </div> </div><p> <a class="anchor" name="e7f7431ce99333577d7b82b26619309e"></a><!-- doxytag: member="udp.h::udp_init" ref="e7f7431ce99333577d7b82b26619309e" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void udp_init </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Referenced by <a class="el" href="tcpip_8c-source.html#l00068">tcpip_thread()</a>. </div> </div><p> <a class="anchor" name="7b338a5515606bd51976fbc5bcec9611"></a><!-- doxytag: member="udp.h::udp_input" ref="7b338a5515606bd51976fbc5bcec9611" args="(struct pbuf *p, struct netif *inp)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void udp_input </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structpbuf.html">pbuf</a> * </td> <td class="paramname"> <em>p</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structnetif.html">netif</a> * </td> <td class="paramname"> <em>inp</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="e941b362859d1f88b90f625a68eface8"></a><!-- doxytag: member="udp.h::udp_lookup" ref="e941b362859d1f88b90f625a68eface8" args="(struct ip_hdr *iphdr, struct netif *inp)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a> udp_lookup </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structip__hdr.html">ip_hdr</a> * </td> <td class="paramname"> <em>iphdr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structnetif.html">netif</a> * </td> <td class="paramname"> <em>inp</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="a6d6430499acae43d342f0e68ddbb209"></a><!-- doxytag: member="udp.h::udp_new" ref="a6d6430499acae43d342f0e68ddbb209" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structudp__pcb.html">udp_pcb</a>* udp_new </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Referenced by <a class="el" href="api__msg_8c-source.html#l00243">do_bind()</a>, and <a class="el" href="api__msg_8c-source.html#l00305">do_connect()</a>. </div> </div><p> <a class="anchor" name="e6e4e0150998bb6e38359418c7461eb1"></a><!-- doxytag: member="udp.h::udp_recv" ref="e6e4e0150998bb6e38359418c7461eb1" args="(struct udp_pcb *pcb, void(*recv)(void *arg, struct udp_pcb *upcb, struct pbuf *p, struct ip_addr *addr, uInt16 port), void *recv_arg)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void udp_recv </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structudp__pcb.html">udp_pcb</a> * </td> <td class="paramname"> <em>pcb</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void(*)(void *arg, struct <a class="el" href="structudp__pcb.html">udp_pcb</a> *upcb, struct <a class="el" href="structpbuf.html">pbuf</a> *p, struct <a class="el" href="structip__addr.html">ip_addr</a> *addr, <a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a> port) </td> <td class="paramname"> <em>recv</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> <em>recv_arg</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Referenced by <a class="el" href="api__msg_8c-source.html#l00243">do_bind()</a>, and <a class="el" href="api__msg_8c-source.html#l00305">do_connect()</a>. </div> </div><p> <a class="anchor" name="3aed8e469f74f960837ebf9f34acf646"></a><!-- doxytag: member="udp.h::udp_remove" ref="3aed8e469f74f960837ebf9f34acf646" args="(struct udp_pcb *pcb)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void udp_remove </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structudp__pcb.html">udp_pcb</a> * </td> <td class="paramname"> <em>pcb</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Referenced by <a class="el" href="api__msg_8c-source.html#l00208">do_delconn()</a>. </div> </div><p> <a class="anchor" name="a4546c43981f043c0ae4514d625cc3fc"></a><!-- doxytag: member="udp.h::udp_send" ref="a4546c43981f043c0ae4514d625cc3fc" args="(struct udp_pcb *pcb, struct pbuf *p)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> udp_send </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structudp__pcb.html">udp_pcb</a> * </td> <td class="paramname"> <em>pcb</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structpbuf.html">pbuf</a> * </td> <td class="paramname"> <em>p</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Referenced by <a class="el" href="api__msg_8c-source.html#l00419">do_send()</a>. </div> </div><p> <hr><h2>Variable Documentation</h2> <a class="anchor" name="fd3ea29267b7278798fadaebb0c4ffa0"></a><!-- doxytag: member="udp.h::PACK_STRUCT_STRUCT" ref="fd3ea29267b7278798fadaebb0c4ffa0" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structudp__hdr.html">udp_hdr</a> <a class="el" href="arp_8c.html#b335643ec08d519342c9d3834091d6e0">PACK_STRUCT_STRUCT</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr size="1"><address style="align: right;"><small>Generated on Tue Dec 12 08:52:11 2006 for UbixOS V2 by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address> </body> </html>