a00136.html 50 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  3. <title>uIP 1.0: uip/uip.h File Reference</title>
  4. <link href="doxygen.css" rel="stylesheet" type="text/css">
  5. <link href="tabs.css" rel="stylesheet" type="text/css">
  6. </head><body>
  7. <!-- Generated by Doxygen 1.4.6 -->
  8. <div class="tabs">
  9. <ul>
  10. <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  11. <li><a href="modules.html"><span>Modules</span></a></li>
  12. <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
  13. <li id="current"><a href="files.html"><span>Files</span></a></li>
  14. <li><a href="examples.html"><span>Examples</span></a></li>
  15. </ul></div>
  16. <div class="tabs">
  17. <ul>
  18. <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19. <li><a href="globals.html"><span>Globals</span></a></li>
  20. </ul></div>
  21. <h1>uip/uip.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
  22. Header file for the uIP TCP/IP stack.
  23. <p>
  24. <dl compact><dt><b>Author:</b></dt><dd>Adam Dunkels &lt;<a href="mailto:adam@dunkels.com">adam@dunkels.com</a>&gt;</dd></dl>
  25. The uIP TCP/IP stack header file contains definitions for a number of C macros that are used by uIP programs as well as internal uIP structures, TCP/IP header structures and function declarations.
  26. <p>
  27. Definition in file <a class="el" href="a00202.html">uip.h</a>.
  28. <p>
  29. <code>#include &quot;<a class="el" href="a00206.html">uipopt.h</a>&quot;</code><br>
  30. <p>
  31. <a href="a00202.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  32. <tr><td></td></tr>
  33. <tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
  34. <tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00088.html">uip_conn</a></td></tr>
  35. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Representation of a uIP TCP connection. <a href="a00088.html#_details">More...</a><br></td></tr>
  36. <tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html">uip_udp_conn</a></td></tr>
  37. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Representation of a uIP UDP connection. <a href="a00095.html#_details">More...</a><br></td></tr>
  38. <tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00093.html">uip_stats</a></td></tr>
  39. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The structure holding the TCP/IP statistics that are gathered if UIP_STATISTICS is set to 1. <a href="a00093.html#_details">More...</a><br></td></tr>
  40. <tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html">uip_tcpip_hdr</a></td></tr>
  41. <tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html">uip_icmpip_hdr</a></td></tr>
  42. <tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html">uip_udpip_hdr</a></td></tr>
  43. <tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html">uip_eth_addr</a></td></tr>
  44. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Representation of a 48-bit Ethernet address. <a href="a00089.html#_details">More...</a><br></td></tr>
  45. <tr><td colspan="2"><br><h2>Defines</h2></td></tr>
  46. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#g12b467f314489259dd718228d0827a51">uip_sethostaddr</a>(addr)</td></tr>
  47. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the IP address of this host. <a href="a00144.html#g12b467f314489259dd718228d0827a51"></a><br></td></tr>
  48. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#g20bc87e5c063c3f4b01547be6e5a0148">uip_gethostaddr</a>(addr)</td></tr>
  49. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the IP address of this host. <a href="a00144.html#g20bc87e5c063c3f4b01547be6e5a0148"></a><br></td></tr>
  50. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#g41d37ea1e3bd24f7b51e9409aceaaa80">uip_setdraddr</a>(addr)</td></tr>
  51. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the default router's IP address. <a href="a00144.html#g41d37ea1e3bd24f7b51e9409aceaaa80"></a><br></td></tr>
  52. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#geb79c914cf137e6d27fd7583e5a66679">uip_setnetmask</a>(addr)</td></tr>
  53. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the netmask. <a href="a00144.html#geb79c914cf137e6d27fd7583e5a66679"></a><br></td></tr>
  54. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#gd8e8bc9bc0e2ea4a24a8a024fd3a7f7c">uip_getdraddr</a>(addr)</td></tr>
  55. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the default router's IP address. <a href="a00144.html#gd8e8bc9bc0e2ea4a24a8a024fd3a7f7c"></a><br></td></tr>
  56. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#g5323320b7316647042016f17c4e881be">uip_getnetmask</a>(addr)</td></tr>
  57. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the netmask. <a href="a00144.html#g5323320b7316647042016f17c4e881be"></a><br></td></tr>
  58. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#ga4360412ee9350fba725f98a137169fe">uip_input</a>()</td></tr>
  59. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Process an incoming packet. <a href="a00146.html#ga4360412ee9350fba725f98a137169fe"></a><br></td></tr>
  60. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#g1024f8a5fa65e82bf848b2e6590d9628">uip_periodic</a>(conn)</td></tr>
  61. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Periodic processing for a connection identified by its number. <a href="a00146.html#g1024f8a5fa65e82bf848b2e6590d9628"></a><br></td></tr>
  62. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gfd5ebb56a1bd1da9878aa886a2075e80"></a><!-- doxytag: member="uip.h::uip_conn_active" ref="gfd5ebb56a1bd1da9878aa886a2075e80" args="(conn)" -->
  63. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#gfd5ebb56a1bd1da9878aa886a2075e80">uip_conn_active</a>(conn)&nbsp;&nbsp;&nbsp;(<a class="el" href="a00150.html#gf703683056d2bfa5c81fa157dcb20fe2">uip_conns</a>[conn].tcpstateflags != UIP_CLOSED)</td></tr>
  64. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#gbaf0bb2b6a4424b4eb69e45e457c2583">uip_periodic_conn</a>(conn)</td></tr>
  65. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Perform periodic processing for a connection identified by a pointer to its structure. <a href="a00146.html#gbaf0bb2b6a4424b4eb69e45e457c2583"></a><br></td></tr>
  66. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#gf20aaf4292cb0d2a1b10bc0a568b51fa">uip_poll_conn</a>(conn)</td></tr>
  67. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reuqest that a particular connection should be polled. <a href="a00146.html#gf20aaf4292cb0d2a1b10bc0a568b51fa"></a><br></td></tr>
  68. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#g2c64c8c36bc84f9336f6a2184ea51883">uip_udp_periodic</a>(conn)</td></tr>
  69. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Periodic processing for a UDP connection identified by its number. <a href="a00146.html#g2c64c8c36bc84f9336f6a2184ea51883"></a><br></td></tr>
  70. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#gf5c2ad5acf3cc23b8262e9ba6a15136b">uip_udp_periodic_conn</a>(conn)</td></tr>
  71. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Periodic processing for a UDP connection identified by a pointer to its structure. <a href="a00146.html#gf5c2ad5acf3cc23b8262e9ba6a15136b"></a><br></td></tr>
  72. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gef14e83c046e19ab9fe9d1bbcca276c2"></a><!-- doxytag: member="uip.h::uip_outstanding" ref="gef14e83c046e19ab9fe9d1bbcca276c2" args="(conn)" -->
  73. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gef14e83c046e19ab9fe9d1bbcca276c2">uip_outstanding</a>(conn)&nbsp;&nbsp;&nbsp;((conn)-&gt;len)</td></tr>
  74. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g1a1bc437c09ddef238abab41d77c3177">uip_datalen</a>()</td></tr>
  75. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The length of any incoming data that is currently avaliable (if avaliable) in the uip_appdata buffer. <a href="a00147.html#g1a1bc437c09ddef238abab41d77c3177"></a><br></td></tr>
  76. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g8411c95a4d89367ad2d9d6bde1a3d537">uip_urgdatalen</a>()</td></tr>
  77. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The length of any out-of-band data (urgent data) that has arrived on the connection. <a href="a00147.html#g8411c95a4d89367ad2d9d6bde1a3d537"></a><br></td></tr>
  78. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g61db1dcb7c760e4dd5d60bf4e5576dca">uip_close</a>()</td></tr>
  79. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close the current connection. <a href="a00147.html#g61db1dcb7c760e4dd5d60bf4e5576dca"></a><br></td></tr>
  80. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g88d2ccf7cd821f89d9a8df7e3948b56c">uip_abort</a>()</td></tr>
  81. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Abort the current connection. <a href="a00147.html#g88d2ccf7cd821f89d9a8df7e3948b56c"></a><br></td></tr>
  82. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g0a8bb9d6d0f1f56852ccfccbbad6c5d8">uip_stop</a>()</td></tr>
  83. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tell the sending host to stop sending data. <a href="a00147.html#g0a8bb9d6d0f1f56852ccfccbbad6c5d8"></a><br></td></tr>
  84. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g64a238a5c02640a7a4aef004163aeb47"></a><!-- doxytag: member="uip.h::uip_stopped" ref="g64a238a5c02640a7a4aef004163aeb47" args="(conn)" -->
  85. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g64a238a5c02640a7a4aef004163aeb47">uip_stopped</a>(conn)</td></tr>
  86. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find out if the current connection has been previously stopped with <a class="el" href="a00147.html#g0a8bb9d6d0f1f56852ccfccbbad6c5d8">uip_stop()</a>. <br></td></tr>
  87. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g81ac47cee1c18f6aa479044069db7ca3">uip_restart</a>()</td></tr>
  88. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Restart the current connection, if is has previously been stopped with <a class="el" href="a00147.html#g0a8bb9d6d0f1f56852ccfccbbad6c5d8">uip_stop()</a>. <a href="a00147.html#g81ac47cee1c18f6aa479044069db7ca3"></a><br></td></tr>
  89. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#ga9de254b8aa308eb4aab17efdde622d2">uip_udpconnection</a>()</td></tr>
  90. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is the current connection a UDP connection? <a href="a00147.html#ga9de254b8aa308eb4aab17efdde622d2"></a><br></td></tr>
  91. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g26a14b8dae3f861830af9e7cf1e03725">uip_newdata</a>()</td></tr>
  92. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is new incoming data available? <a href="a00147.html#g26a14b8dae3f861830af9e7cf1e03725"></a><br></td></tr>
  93. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gde6634974418e3240c212b9b16864368">uip_acked</a>()</td></tr>
  94. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Has previously sent data been acknowledged? <a href="a00147.html#gde6634974418e3240c212b9b16864368"></a><br></td></tr>
  95. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gdb971fb1525d0c5002f52125b05f3218">uip_connected</a>()</td></tr>
  96. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Has the connection just been connected? <a href="a00147.html#gdb971fb1525d0c5002f52125b05f3218"></a><br></td></tr>
  97. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gef6c4140c632b6a406779342cf3b6eb6">uip_closed</a>()</td></tr>
  98. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Has the connection been closed by the other end? <a href="a00147.html#gef6c4140c632b6a406779342cf3b6eb6"></a><br></td></tr>
  99. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gfbd5fc486dfdf6bf6fc9db52b1f418c4">uip_aborted</a>()</td></tr>
  100. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Has the connection been aborted by the other end? <a href="a00147.html#gfbd5fc486dfdf6bf6fc9db52b1f418c4"></a><br></td></tr>
  101. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g7b2ac4b18bd2ac3912fe67b3b17158c3">uip_timedout</a>()</td></tr>
  102. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Has the connection timed out? <a href="a00147.html#g7b2ac4b18bd2ac3912fe67b3b17158c3"></a><br></td></tr>
  103. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#ga8933ad15a2e2947dae4a5cff50e6007">uip_rexmit</a>()</td></tr>
  104. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Do we need to retransmit previously data? <a href="a00147.html#ga8933ad15a2e2947dae4a5cff50e6007"></a><br></td></tr>
  105. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g58bb90796c1cdad3aac2ecf44d87b20e">uip_poll</a>()</td></tr>
  106. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is the connection being polled by uIP? <a href="a00147.html#g58bb90796c1cdad3aac2ecf44d87b20e"></a><br></td></tr>
  107. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga87feebc7cffd4d8300e776cf64e4fec"></a><!-- doxytag: member="uip.h::uip_initialmss" ref="ga87feebc7cffd4d8300e776cf64e4fec" args="()" -->
  108. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#ga87feebc7cffd4d8300e776cf64e4fec">uip_initialmss</a>()</td></tr>
  109. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the initial maxium segment size (MSS) of the current connection. <br></td></tr>
  110. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gb5fecbc62edd128012cea0f47b57ab9f">uip_mss</a>()</td></tr>
  111. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current maxium segment size that can be sent on the current connection. <a href="a00147.html#gb5fecbc62edd128012cea0f47b57ab9f"></a><br></td></tr>
  112. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gf2dbaceb10c67783a115075b5b6d66df">uip_udp_remove</a>(conn)</td></tr>
  113. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removed a UDP connection. <a href="a00147.html#gf2dbaceb10c67783a115075b5b6d66df"></a><br></td></tr>
  114. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#ga20812098a4663c8a9fc4ce8e95391b6">uip_udp_bind</a>(conn, port)</td></tr>
  115. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bind a UDP connection to a local port. <a href="a00147.html#ga20812098a4663c8a9fc4ce8e95391b6"></a><br></td></tr>
  116. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#ge5ab69d40013e6cf86ef1763c95d920e">uip_udp_send</a>(len)</td></tr>
  117. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a UDP datagram of length len on the current connection. <a href="a00147.html#ge5ab69d40013e6cf86ef1763c95d920e"></a><br></td></tr>
  118. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g87f0b54ade0d159fba495089128a4932">uip_ipaddr</a>(addr, addr0, addr1, addr2, addr3)</td></tr>
  119. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct an IP address from four bytes. <a href="a00148.html#g87f0b54ade0d159fba495089128a4932"></a><br></td></tr>
  120. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g53fbda0e8c31d4882294c8dc3cb5f487">uip_ip6addr</a>(addr, addr0, addr1, addr2, addr3, addr4, addr5, addr6, addr7)</td></tr>
  121. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct an IPv6 address from eight 16-bit words. <a href="a00148.html#g53fbda0e8c31d4882294c8dc3cb5f487"></a><br></td></tr>
  122. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g769512993b7b27271909d6daa4748b60">uip_ipaddr_copy</a>(dest, src)</td></tr>
  123. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy an IP address to another IP address. <a href="a00148.html#g769512993b7b27271909d6daa4748b60"></a><br></td></tr>
  124. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g210e629f7252e4bc8458cbdf260b3318">uip_ipaddr_cmp</a>(addr1, addr2)</td></tr>
  125. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two IP addresses. <a href="a00148.html#g210e629f7252e4bc8458cbdf260b3318"></a><br></td></tr>
  126. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g6b16e0bac41821c1fbe0c267071642f0">uip_ipaddr_maskcmp</a>(addr1, addr2, mask)</td></tr>
  127. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two IP addresses with netmasks. <a href="a00148.html#g6b16e0bac41821c1fbe0c267071642f0"></a><br></td></tr>
  128. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g969d7fff37a979737da045e0d538a9bd">uip_ipaddr_mask</a>(dest, src, mask)</td></tr>
  129. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mask out the network part of an IP address. <a href="a00148.html#g969d7fff37a979737da045e0d538a9bd"></a><br></td></tr>
  130. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g22fa0681cd463191d7a01fe85d86996f">uip_ipaddr1</a>(addr)</td></tr>
  131. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pick the first octet of an IP address. <a href="a00148.html#g22fa0681cd463191d7a01fe85d86996f"></a><br></td></tr>
  132. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#gffcd2fbe181e2aaefbf970551c302af5">uip_ipaddr2</a>(addr)</td></tr>
  133. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pick the second octet of an IP address. <a href="a00148.html#gffcd2fbe181e2aaefbf970551c302af5"></a><br></td></tr>
  134. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#ge23534479ead15af8ff08ace26a47fb5">uip_ipaddr3</a>(addr)</td></tr>
  135. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pick the third octet of an IP address. <a href="a00148.html#ge23534479ead15af8ff08ace26a47fb5"></a><br></td></tr>
  136. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g165b603ec150e26efec7be199c9c2901">uip_ipaddr4</a>(addr)</td></tr>
  137. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pick the fourth octet of an IP address. <a href="a00148.html#g165b603ec150e26efec7be199c9c2901"></a><br></td></tr>
  138. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g69a7a4951ff21b302267532c21ee78fc">HTONS</a>(n)</td></tr>
  139. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert 16-bit quantity from host byte order to network byte order. <a href="a00148.html#g69a7a4951ff21b302267532c21ee78fc"></a><br></td></tr>
  140. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g118e9d76568ab81ad97f138d4ea1ddd2"></a><!-- doxytag: member="uip.h::ntohs" ref="g118e9d76568ab81ad97f138d4ea1ddd2" args="" -->
  141. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g118e9d76568ab81ad97f138d4ea1ddd2">ntohs</a>&nbsp;&nbsp;&nbsp;htons</td></tr>
  142. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6bfa488f87f68a6f7f4a3efb9e45eaf8"></a><!-- doxytag: member="uip.h::UIP_ACKDATA" ref="g6bfa488f87f68a6f7f4a3efb9e45eaf8" args="" -->
  143. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g6bfa488f87f68a6f7f4a3efb9e45eaf8">UIP_ACKDATA</a>&nbsp;&nbsp;&nbsp;1</td></tr>
  144. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g39ce739bd352d7e348e37395ce903e43"></a><!-- doxytag: member="uip.h::UIP_NEWDATA" ref="g39ce739bd352d7e348e37395ce903e43" args="" -->
  145. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g39ce739bd352d7e348e37395ce903e43">UIP_NEWDATA</a>&nbsp;&nbsp;&nbsp;2</td></tr>
  146. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf848ce44c810492e7a35c2d23a429f45"></a><!-- doxytag: member="uip.h::UIP_REXMIT" ref="gf848ce44c810492e7a35c2d23a429f45" args="" -->
  147. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gf848ce44c810492e7a35c2d23a429f45">UIP_REXMIT</a>&nbsp;&nbsp;&nbsp;4</td></tr>
  148. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf0ed78fd2be24d849cdd5af75e3b2674"></a><!-- doxytag: member="uip.h::UIP_POLL" ref="gf0ed78fd2be24d849cdd5af75e3b2674" args="" -->
  149. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gf0ed78fd2be24d849cdd5af75e3b2674">UIP_POLL</a>&nbsp;&nbsp;&nbsp;8</td></tr>
  150. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g57e6dc1d58a36d0ed53a3dd29ccc5798"></a><!-- doxytag: member="uip.h::UIP_CLOSE" ref="g57e6dc1d58a36d0ed53a3dd29ccc5798" args="" -->
  151. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g57e6dc1d58a36d0ed53a3dd29ccc5798">UIP_CLOSE</a>&nbsp;&nbsp;&nbsp;16</td></tr>
  152. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga4c4310e54f18541b09e1e251fe7b22d"></a><!-- doxytag: member="uip.h::UIP_ABORT" ref="ga4c4310e54f18541b09e1e251fe7b22d" args="" -->
  153. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#ga4c4310e54f18541b09e1e251fe7b22d">UIP_ABORT</a>&nbsp;&nbsp;&nbsp;32</td></tr>
  154. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf84316f469ce0726985c0702db49a989"></a><!-- doxytag: member="uip.h::UIP_CONNECTED" ref="gf84316f469ce0726985c0702db49a989" args="" -->
  155. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gf84316f469ce0726985c0702db49a989">UIP_CONNECTED</a>&nbsp;&nbsp;&nbsp;64</td></tr>
  156. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2d3ba4b14d6d2f6576f9b547800b7945"></a><!-- doxytag: member="uip.h::UIP_TIMEDOUT" ref="g2d3ba4b14d6d2f6576f9b547800b7945" args="" -->
  157. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g2d3ba4b14d6d2f6576f9b547800b7945">UIP_TIMEDOUT</a>&nbsp;&nbsp;&nbsp;128</td></tr>
  158. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gabc40c09f49d15acb1b1a7f02bb3a807"></a><!-- doxytag: member="uip.h::UIP_DATA" ref="gabc40c09f49d15acb1b1a7f02bb3a807" args="" -->
  159. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gabc40c09f49d15acb1b1a7f02bb3a807">UIP_DATA</a>&nbsp;&nbsp;&nbsp;1</td></tr>
  160. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g041aea91aa6ef84dcc6cac3c51db9b2f"></a><!-- doxytag: member="uip.h::UIP_TIMER" ref="g041aea91aa6ef84dcc6cac3c51db9b2f" args="" -->
  161. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g041aea91aa6ef84dcc6cac3c51db9b2f">UIP_TIMER</a>&nbsp;&nbsp;&nbsp;2</td></tr>
  162. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gd605357e29affb0d3104294c90f09905"></a><!-- doxytag: member="uip.h::UIP_POLL_REQUEST" ref="gd605357e29affb0d3104294c90f09905" args="" -->
  163. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gd605357e29affb0d3104294c90f09905">UIP_POLL_REQUEST</a>&nbsp;&nbsp;&nbsp;3</td></tr>
  164. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5c97ae587595b5444be80f5ecc1d3382"></a><!-- doxytag: member="uip.h::UIP_UDP_SEND_CONN" ref="g5c97ae587595b5444be80f5ecc1d3382" args="" -->
  165. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g5c97ae587595b5444be80f5ecc1d3382">UIP_UDP_SEND_CONN</a>&nbsp;&nbsp;&nbsp;4</td></tr>
  166. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf0ccbc3bb2a3ba1ebc255c7b3fcedd24"></a><!-- doxytag: member="uip.h::UIP_UDP_TIMER" ref="gf0ccbc3bb2a3ba1ebc255c7b3fcedd24" args="" -->
  167. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gf0ccbc3bb2a3ba1ebc255c7b3fcedd24">UIP_UDP_TIMER</a>&nbsp;&nbsp;&nbsp;5</td></tr>
  168. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g28eda870cff3d8e3cf2949e6f57a502b"></a><!-- doxytag: member="uip.h::UIP_CLOSED" ref="g28eda870cff3d8e3cf2949e6f57a502b" args="" -->
  169. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g28eda870cff3d8e3cf2949e6f57a502b">UIP_CLOSED</a>&nbsp;&nbsp;&nbsp;0</td></tr>
  170. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga5e3c856b86725125d19fccc34cd9eb5"></a><!-- doxytag: member="uip.h::UIP_SYN_RCVD" ref="ga5e3c856b86725125d19fccc34cd9eb5" args="" -->
  171. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#ga5e3c856b86725125d19fccc34cd9eb5">UIP_SYN_RCVD</a>&nbsp;&nbsp;&nbsp;1</td></tr>
  172. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g8af482dec973db57d8b3bd3f69461488"></a><!-- doxytag: member="uip.h::UIP_SYN_SENT" ref="g8af482dec973db57d8b3bd3f69461488" args="" -->
  173. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g8af482dec973db57d8b3bd3f69461488">UIP_SYN_SENT</a>&nbsp;&nbsp;&nbsp;2</td></tr>
  174. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gae59b70658f28ee6e998eaaab05e423f"></a><!-- doxytag: member="uip.h::UIP_ESTABLISHED" ref="gae59b70658f28ee6e998eaaab05e423f" args="" -->
  175. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gae59b70658f28ee6e998eaaab05e423f">UIP_ESTABLISHED</a>&nbsp;&nbsp;&nbsp;3</td></tr>
  176. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga533c394b1fa0030205534befa31c525"></a><!-- doxytag: member="uip.h::UIP_FIN_WAIT_1" ref="ga533c394b1fa0030205534befa31c525" args="" -->
  177. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#ga533c394b1fa0030205534befa31c525">UIP_FIN_WAIT_1</a>&nbsp;&nbsp;&nbsp;4</td></tr>
  178. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g160128ab5d2ea3cc497b91ee4eb4ef99"></a><!-- doxytag: member="uip.h::UIP_FIN_WAIT_2" ref="g160128ab5d2ea3cc497b91ee4eb4ef99" args="" -->
  179. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g160128ab5d2ea3cc497b91ee4eb4ef99">UIP_FIN_WAIT_2</a>&nbsp;&nbsp;&nbsp;5</td></tr>
  180. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g64d9affc680a445d708234e70450477b"></a><!-- doxytag: member="uip.h::UIP_CLOSING" ref="g64d9affc680a445d708234e70450477b" args="" -->
  181. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g64d9affc680a445d708234e70450477b">UIP_CLOSING</a>&nbsp;&nbsp;&nbsp;6</td></tr>
  182. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gfff0ed43201bf1e2020de1a0d6cac070"></a><!-- doxytag: member="uip.h::UIP_TIME_WAIT" ref="gfff0ed43201bf1e2020de1a0d6cac070" args="" -->
  183. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gfff0ed43201bf1e2020de1a0d6cac070">UIP_TIME_WAIT</a>&nbsp;&nbsp;&nbsp;7</td></tr>
  184. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gd135fb0cfdfb2c212f0f51865a3640e4"></a><!-- doxytag: member="uip.h::UIP_LAST_ACK" ref="gd135fb0cfdfb2c212f0f51865a3640e4" args="" -->
  185. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gd135fb0cfdfb2c212f0f51865a3640e4">UIP_LAST_ACK</a>&nbsp;&nbsp;&nbsp;8</td></tr>
  186. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g13dfcb4a5f920e108253ade527a66cc2"></a><!-- doxytag: member="uip.h::UIP_TS_MASK" ref="g13dfcb4a5f920e108253ade527a66cc2" args="" -->
  187. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g13dfcb4a5f920e108253ade527a66cc2">UIP_TS_MASK</a>&nbsp;&nbsp;&nbsp;15</td></tr>
  188. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gde29ec025e6754afd8cc24c954a8dec8"></a><!-- doxytag: member="uip.h::UIP_STOPPED" ref="gde29ec025e6754afd8cc24c954a8dec8" args="" -->
  189. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gde29ec025e6754afd8cc24c954a8dec8">UIP_STOPPED</a>&nbsp;&nbsp;&nbsp;16</td></tr>
  190. <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#ge0825474feee11b4e038bfe71757875f">UIP_APPDATA_SIZE</a></td></tr>
  191. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The buffer size available for user data in the <a class="el" href="a00150.html#gb81e78f890dbbee50c533a9734b74fd9">uip_buf</a> buffer. <a href="a00150.html#ge0825474feee11b4e038bfe71757875f"></a><br></td></tr>
  192. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g359951eecd80541c2101f628a9da9146"></a><!-- doxytag: member="uip.h::UIP_PROTO_ICMP" ref="g359951eecd80541c2101f628a9da9146" args="" -->
  193. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g359951eecd80541c2101f628a9da9146">UIP_PROTO_ICMP</a>&nbsp;&nbsp;&nbsp;1</td></tr>
  194. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g517c770991459cc62dc009c0d3875c6a"></a><!-- doxytag: member="uip.h::UIP_PROTO_TCP" ref="g517c770991459cc62dc009c0d3875c6a" args="" -->
  195. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g517c770991459cc62dc009c0d3875c6a">UIP_PROTO_TCP</a>&nbsp;&nbsp;&nbsp;6</td></tr>
  196. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf72d7b9a737707dcfb2c41fec2b6792e"></a><!-- doxytag: member="uip.h::UIP_PROTO_UDP" ref="gf72d7b9a737707dcfb2c41fec2b6792e" args="" -->
  197. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gf72d7b9a737707dcfb2c41fec2b6792e">UIP_PROTO_UDP</a>&nbsp;&nbsp;&nbsp;17</td></tr>
  198. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gad0321f4c570f9983c6de81ece3ddc20"></a><!-- doxytag: member="uip.h::UIP_PROTO_ICMP6" ref="gad0321f4c570f9983c6de81ece3ddc20" args="" -->
  199. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gad0321f4c570f9983c6de81ece3ddc20">UIP_PROTO_ICMP6</a>&nbsp;&nbsp;&nbsp;58</td></tr>
  200. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6bc12c6c7b56f73ce5d57abfdcdc6eb5"></a><!-- doxytag: member="uip.h::UIP_IPH_LEN" ref="g6bc12c6c7b56f73ce5d57abfdcdc6eb5" args="" -->
  201. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g6bc12c6c7b56f73ce5d57abfdcdc6eb5">UIP_IPH_LEN</a>&nbsp;&nbsp;&nbsp;20</td></tr>
  202. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb948296aea6b6b3aa1f156799c4d479c"></a><!-- doxytag: member="uip.h::UIP_UDPH_LEN" ref="gb948296aea6b6b3aa1f156799c4d479c" args="" -->
  203. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gb948296aea6b6b3aa1f156799c4d479c">UIP_UDPH_LEN</a>&nbsp;&nbsp;&nbsp;8</td></tr>
  204. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g17d111686f98e4c09db73a770ac3f1a4"></a><!-- doxytag: member="uip.h::UIP_TCPH_LEN" ref="g17d111686f98e4c09db73a770ac3f1a4" args="" -->
  205. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g17d111686f98e4c09db73a770ac3f1a4">UIP_TCPH_LEN</a>&nbsp;&nbsp;&nbsp;20</td></tr>
  206. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6f2b90c597ec23f39ec716ccec11233c"></a><!-- doxytag: member="uip.h::UIP_IPUDPH_LEN" ref="g6f2b90c597ec23f39ec716ccec11233c" args="" -->
  207. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g6f2b90c597ec23f39ec716ccec11233c">UIP_IPUDPH_LEN</a>&nbsp;&nbsp;&nbsp;(UIP_UDPH_LEN + UIP_IPH_LEN)</td></tr>
  208. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g15f2617f7dc1713f9d10282125c6027b"></a><!-- doxytag: member="uip.h::UIP_IPTCPH_LEN" ref="g15f2617f7dc1713f9d10282125c6027b" args="" -->
  209. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g15f2617f7dc1713f9d10282125c6027b">UIP_IPTCPH_LEN</a>&nbsp;&nbsp;&nbsp;(UIP_TCPH_LEN + UIP_IPH_LEN)</td></tr>
  210. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gee37386b2ab828787c05227eb109def7"></a><!-- doxytag: member="uip.h::UIP_TCPIP_HLEN" ref="gee37386b2ab828787c05227eb109def7" args="" -->
  211. #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gee37386b2ab828787c05227eb109def7">UIP_TCPIP_HLEN</a>&nbsp;&nbsp;&nbsp;UIP_IPTCPH_LEN</td></tr>
  212. <tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
  213. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g20ceef9d0868d391c2f33041b02cb1f1"></a><!-- doxytag: member="uip.h::uip_ip4addr_t" ref="g20ceef9d0868d391c2f33041b02cb1f1" args="[2]" -->
  214. typedef <a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g20ceef9d0868d391c2f33041b02cb1f1">uip_ip4addr_t</a> [2]</td></tr>
  215. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Repressentation of an IP address. <br></td></tr>
  216. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g9ebb4dac683163840eab9c6c41ad61f7"></a><!-- doxytag: member="uip.h::uip_ip6addr_t" ref="g9ebb4dac683163840eab9c6c41ad61f7" args="[8]" -->
  217. typedef <a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g9ebb4dac683163840eab9c6c41ad61f7">uip_ip6addr_t</a> [8]</td></tr>
  218. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1ef35301f43a5bbb9f89f07b5a36b9a0"></a><!-- doxytag: member="uip.h::uip_ipaddr_t" ref="g1ef35301f43a5bbb9f89f07b5a36b9a0" args="" -->
  219. typedef <a class="el" href="a00150.html#g20ceef9d0868d391c2f33041b02cb1f1">uip_ip4addr_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a></td></tr>
  220. <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  221. <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00145.html#gc48ed5f0d27721ef62a3ed02a5ad8d2e">uip_init</a> (void)</td></tr>
  222. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">uIP initialization function. <a href="a00145.html#gc48ed5f0d27721ef62a3ed02a5ad8d2e"></a><br></td></tr>
  223. <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00145.html#g22f140b02c354dfebcc7ad481c3bcd68">uip_setipid</a> (<a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> id)</td></tr>
  224. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">uIP initialization function. <a href="a00145.html#g22f140b02c354dfebcc7ad481c3bcd68"></a><br></td></tr>
  225. <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gdd1ab3704ecd4900eec61a6897d32dc8">uip_listen</a> (<a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> port)</td></tr>
  226. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start listening to the specified port. <a href="a00147.html#gdd1ab3704ecd4900eec61a6897d32dc8"></a><br></td></tr>
  227. <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gaa585784b0914cac1d37f07f85457008">uip_unlisten</a> (<a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> port)</td></tr>
  228. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stop listening to the specified port. <a href="a00147.html#gaa585784b0914cac1d37f07f85457008"></a><br></td></tr>
  229. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00088.html">uip_conn</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g8096b0c4b543dc408f4dd031ddae7240">uip_connect</a> (<a class="el" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a> *ripaddr, <a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> port)</td></tr>
  230. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Connect to a remote host using TCP. <a href="a00147.html#g8096b0c4b543dc408f4dd031ddae7240"></a><br></td></tr>
  231. <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g04b053a623aac7cd4195157d470661b3">uip_send</a> (const void *data, int len)</td></tr>
  232. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send data on the current connection. <a href="a00147.html#g04b053a623aac7cd4195157d470661b3"></a><br></td></tr>
  233. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00095.html">uip_udp_conn</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g79c4110211247df3fb30b8cf1c4c02af">uip_udp_new</a> (<a class="el" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a> *ripaddr, <a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> rport)</td></tr>
  234. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set up a new UDP connection. <a href="a00147.html#g79c4110211247df3fb30b8cf1c4c02af"></a><br></td></tr>
  235. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#ga22b04cac8cf283ca12f028578bebc06">htons</a> (<a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> val)</td></tr>
  236. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert 16-bit quantity from host byte order to network byte order. <a href="a00148.html#ga22b04cac8cf283ca12f028578bebc06"></a><br></td></tr>
  237. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g266263ac78a1361a2b1d15741d3b0675"></a><!-- doxytag: member="uip.h::uip_process" ref="g266263ac78a1361a2b1d15741d3b0675" args="(u8_t flag)" -->
  238. void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g266263ac78a1361a2b1d15741d3b0675">uip_process</a> (<a class="el" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a> flag)</td></tr>
  239. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gb6683dd83fe1c8de9a24086d4b69e907">uip_chksum</a> (<a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> *buf, <a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> len)</td></tr>
  240. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the Internet checksum over a buffer. <a href="a00150.html#gb6683dd83fe1c8de9a24086d4b69e907"></a><br></td></tr>
  241. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g2addf34c7d457c1a7899a7e2171ef1e9">uip_ipchksum</a> (void)</td></tr>
  242. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the IP header checksum of the packet header in uip_buf. <a href="a00150.html#g2addf34c7d457c1a7899a7e2171ef1e9"></a><br></td></tr>
  243. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g85b65e38aa74eba18979156f97a94a87">uip_tcpchksum</a> (void)</td></tr>
  244. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the TCP checksum of the packet in uip_buf and uip_appdata. <a href="a00150.html#g85b65e38aa74eba18979156f97a94a87"></a><br></td></tr>
  245. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g7023a34ba9e9d03b5fbedbcb32924453">uip_udpchksum</a> (void)</td></tr>
  246. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the UDP checksum of the packet in uip_buf and uip_appdata. <a href="a00150.html#g7023a34ba9e9d03b5fbedbcb32924453"></a><br></td></tr>
  247. <tr><td colspan="2"><br><h2>Variables</h2></td></tr>
  248. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#gb81e78f890dbbee50c533a9734b74fd9">uip_buf</a> [UIP_BUFSIZE+2]</td></tr>
  249. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The uIP packet buffer. <a href="a00146.html#gb81e78f890dbbee50c533a9734b74fd9"></a><br></td></tr>
  250. <tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g561b8eda32e059d4e7397f776268cc63">uip_appdata</a></td></tr>
  251. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer to the application data in the packet buffer. <a href="a00150.html#g561b8eda32e059d4e7397f776268cc63"></a><br></td></tr>
  252. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html#g12a33f0c09711167bdf3dd7d7cf8c5a1">uip_len</a></td></tr>
  253. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The length of the packet in the uip_buf buffer. <a href="a00149.html#g12a33f0c09711167bdf3dd7d7cf8c5a1"></a><br></td></tr>
  254. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00088.html">uip_conn</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g788ffac72342f6172343d7f8099cbe1a">uip_conn</a></td></tr>
  255. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer to the current TCP connection. <a href="a00150.html#g788ffac72342f6172343d7f8099cbe1a"></a><br></td></tr>
  256. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf703683056d2bfa5c81fa157dcb20fe2"></a><!-- doxytag: member="uip.h::uip_conns" ref="gf703683056d2bfa5c81fa157dcb20fe2" args="[UIP_CONNS]" -->
  257. <a class="el" href="a00088.html">uip_conn</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gf703683056d2bfa5c81fa157dcb20fe2">uip_conns</a> [UIP_CONNS]</td></tr>
  258. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2a0cf5d86c58fab216414ce59bf1fea1"></a><!-- doxytag: member="uip.h::uip_acc32" ref="g2a0cf5d86c58fab216414ce59bf1fea1" args="[4]" -->
  259. <a class="el" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#g2a0cf5d86c58fab216414ce59bf1fea1">uip_acc32</a> [4]</td></tr>
  260. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">4-byte array used for the 32-bit sequence number calculations. <br></td></tr>
  261. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g210f227119fc972e6222c9cb452e15a9"></a><!-- doxytag: member="uip.h::uip_udp_conn" ref="g210f227119fc972e6222c9cb452e15a9" args="" -->
  262. <a class="el" href="a00095.html">uip_udp_conn</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g210f227119fc972e6222c9cb452e15a9">uip_udp_conn</a></td></tr>
  263. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The current UDP connection. <br></td></tr>
  264. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="geb533744817cf6695d75293369c2248b"></a><!-- doxytag: member="uip.h::uip_udp_conns" ref="geb533744817cf6695d75293369c2248b" args="[UIP_UDP_CONNS]" -->
  265. <a class="el" href="a00095.html">uip_udp_conn</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#geb533744817cf6695d75293369c2248b">uip_udp_conns</a> [UIP_UDP_CONNS]</td></tr>
  266. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00093.html">uip_stats</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g9ee50a40597e67fce96541ab56c3b712">uip_stat</a></td></tr>
  267. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The uIP TCP/IP statistics. <a href="a00150.html#g9ee50a40597e67fce96541ab56c3b712"></a><br></td></tr>
  268. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb4ef6b00924990e7a293f66715b6d1d1"></a><!-- doxytag: member="uip.h::uip_flags" ref="gb4ef6b00924990e7a293f66715b6d1d1" args="" -->
  269. <a class="el" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gb4ef6b00924990e7a293f66715b6d1d1">uip_flags</a></td></tr>
  270. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7d3673f52f5846b6961d23b150decd54"></a><!-- doxytag: member="uip.h::uip_hostaddr" ref="g7d3673f52f5846b6961d23b150decd54" args="" -->
  271. <a class="el" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g7d3673f52f5846b6961d23b150decd54">uip_hostaddr</a></td></tr>
  272. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3237be0d9ec457de0177689ee23c0d5c"></a><!-- doxytag: member="uip.h::uip_netmask" ref="g3237be0d9ec457de0177689ee23c0d5c" args="" -->
  273. <a class="el" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g3237be0d9ec457de0177689ee23c0d5c">uip_netmask</a></td></tr>
  274. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g20df5c82f2a15a508c19e505b5d9de2b"></a><!-- doxytag: member="uip.h::uip_draddr" ref="g20df5c82f2a15a508c19e505b5d9de2b" args="" -->
  275. <a class="el" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g20df5c82f2a15a508c19e505b5d9de2b">uip_draddr</a></td></tr>
  276. </table>
  277. <hr size="1"><address style="align: right;"><small>Generated on Mon Jun 12 10:23:01 2006 for uIP 1.0 by&nbsp;
  278. <a href="http://www.doxygen.org/index.html">
  279. <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
  280. </body>
  281. </html>