api__lib_8c.html 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.13"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>lwIP: src/api/api_lib.c File Reference</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <link href="navtree.css" rel="stylesheet" type="text/css"/>
  13. <script type="text/javascript" src="resize.js"></script>
  14. <script type="text/javascript" src="navtreedata.js"></script>
  15. <script type="text/javascript" src="navtree.js"></script>
  16. <script type="text/javascript">
  17. $(document).ready(initResizable);
  18. </script>
  19. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  20. <script type="text/javascript" src="search/searchdata.js"></script>
  21. <script type="text/javascript" src="search/search.js"></script>
  22. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  23. </head>
  24. <body>
  25. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  26. <div id="titlearea">
  27. <table cellspacing="0" cellpadding="0">
  28. <tbody>
  29. <tr style="height: 56px;">
  30. <td id="projectalign" style="padding-left: 0.5em;">
  31. <div id="projectname">lwIP
  32. &#160;<span id="projectnumber">2.1.2</span>
  33. </div>
  34. <div id="projectbrief">Lightweight IP stack</div>
  35. </td>
  36. </tr>
  37. </tbody>
  38. </table>
  39. </div>
  40. <!-- end header part -->
  41. <!-- Generated by Doxygen 1.8.13 -->
  42. <script type="text/javascript">
  43. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  44. </script>
  45. <script type="text/javascript" src="menudata.js"></script>
  46. <script type="text/javascript" src="menu.js"></script>
  47. <script type="text/javascript">
  48. $(function() {
  49. initMenu('',true,false,'search.php','Search');
  50. $(document).ready(function() { init_search(); });
  51. });
  52. </script>
  53. <div id="main-nav"></div>
  54. </div><!-- top -->
  55. <div id="side-nav" class="ui-resizable side-nav-resizable">
  56. <div id="nav-tree">
  57. <div id="nav-tree-contents">
  58. <div id="nav-sync" class="sync"></div>
  59. </div>
  60. </div>
  61. <div id="splitbar" style="-moz-user-select:none;"
  62. class="ui-resizable-handle">
  63. </div>
  64. </div>
  65. <script type="text/javascript">
  66. $(document).ready(function(){initNavTree('api__lib_8c.html','');});
  67. </script>
  68. <div id="doc-content">
  69. <!-- window showing the filter options -->
  70. <div id="MSearchSelectWindow"
  71. onmouseover="return searchBox.OnSearchSelectShow()"
  72. onmouseout="return searchBox.OnSearchSelectHide()"
  73. onkeydown="return searchBox.OnSearchSelectKey(event)">
  74. </div>
  75. <!-- iframe showing the search results (closed by default) -->
  76. <div id="MSearchResultsWindow">
  77. <iframe src="javascript:void(0)" frameborder="0"
  78. name="MSearchResults" id="MSearchResults">
  79. </iframe>
  80. </div>
  81. <div class="header">
  82. <div class="summary">
  83. <a href="#func-members">Functions</a> </div>
  84. <div class="headertitle">
  85. <div class="title">api_lib.c File Reference</div> </div>
  86. </div><!--header-->
  87. <div class="contents">
  88. <div class="textblock"><code>#include &quot;<a class="el" href="opt_8h.html">lwip/opt.h</a>&quot;</code><br />
  89. <code>#include &quot;<a class="el" href="api_8h.html">lwip/api.h</a>&quot;</code><br />
  90. <code>#include &quot;<a class="el" href="memp_8h.html">lwip/memp.h</a>&quot;</code><br />
  91. <code>#include &quot;<a class="el" href="ip_8h.html">lwip/ip.h</a>&quot;</code><br />
  92. <code>#include &quot;<a class="el" href="raw_8h.html">lwip/raw.h</a>&quot;</code><br />
  93. <code>#include &quot;<a class="el" href="udp_8h.html">lwip/udp.h</a>&quot;</code><br />
  94. <code>#include &quot;<a class="el" href="api__msg_8h.html">lwip/priv/api_msg.h</a>&quot;</code><br />
  95. <code>#include &quot;<a class="el" href="tcp__priv_8h.html">lwip/priv/tcp_priv.h</a>&quot;</code><br />
  96. <code>#include &quot;<a class="el" href="tcpip__priv_8h.html">lwip/priv/tcpip_priv.h</a>&quot;</code><br />
  97. <code>#include &quot;path/to/my/lwip_hooks.h&quot;</code><br />
  98. <code>#include &lt;string.h&gt;</code><br />
  99. </div><table class="memberdecls">
  100. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
  101. Functions</h2></td></tr>
  102. <tr class="memitem:ad0a0434e5ff08bb350740cb840e2aca8"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structnetconn.html">netconn</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="api__lib_8c.html#ad0a0434e5ff08bb350740cb840e2aca8">netconn_new_with_proto_and_callback</a> (enum <a class="el" href="group__netconn__common.html#gaaba260d28d105fb4bce9185fd0300d91">netconn_type</a> t, u8_t proto, <a class="el" href="api_8h.html#a3e130339f00202b3ab714af502163a2d">netconn_callback</a> callback)</td></tr>
  103. <tr class="separator:ad0a0434e5ff08bb350740cb840e2aca8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  104. <tr class="memitem:gad5c079af0ad791a92fe9dade375744f0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netconn__common.html#gad5c079af0ad791a92fe9dade375744f0">netconn_prepare_delete</a> (struct <a class="el" href="structnetconn.html">netconn</a> *conn)</td></tr>
  105. <tr class="separator:gad5c079af0ad791a92fe9dade375744f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  106. <tr class="memitem:gab411221f912a6d9e4c82ac3963989403"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netconn__common.html#gab411221f912a6d9e4c82ac3963989403">netconn_delete</a> (struct <a class="el" href="structnetconn.html">netconn</a> *conn)</td></tr>
  107. <tr class="separator:gab411221f912a6d9e4c82ac3963989403"><td class="memSeparator" colspan="2">&#160;</td></tr>
  108. <tr class="memitem:a28430d1d86733f1bf98dc31305c42104"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="api__lib_8c.html#a28430d1d86733f1bf98dc31305c42104">netconn_getaddr</a> (struct <a class="el" href="structnetconn.html">netconn</a> *conn, <a class="el" href="group__ipaddr.html#ga16ef96d6cde029029bbf47fee35fd67a">ip_addr_t</a> *addr, u16_t *port, u8_t local)</td></tr>
  109. <tr class="separator:a28430d1d86733f1bf98dc31305c42104"><td class="memSeparator" colspan="2">&#160;</td></tr>
  110. <tr class="memitem:ga63bcc4d7bd150674fa953a1253fa6230"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netconn__common.html#ga63bcc4d7bd150674fa953a1253fa6230">netconn_bind</a> (struct <a class="el" href="structnetconn.html">netconn</a> *conn, const <a class="el" href="group__ipaddr.html#ga16ef96d6cde029029bbf47fee35fd67a">ip_addr_t</a> *addr, u16_t port)</td></tr>
  111. <tr class="separator:ga63bcc4d7bd150674fa953a1253fa6230"><td class="memSeparator" colspan="2">&#160;</td></tr>
  112. <tr class="memitem:gaa78479deeedcecd3bacade387ac40cc5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netconn__common.html#gaa78479deeedcecd3bacade387ac40cc5">netconn_bind_if</a> (struct <a class="el" href="structnetconn.html">netconn</a> *conn, u8_t if_idx)</td></tr>
  113. <tr class="separator:gaa78479deeedcecd3bacade387ac40cc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  114. <tr class="memitem:gacba7f74d973872ad0b88b9a96098cf77"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netconn__common.html#gacba7f74d973872ad0b88b9a96098cf77">netconn_connect</a> (struct <a class="el" href="structnetconn.html">netconn</a> *conn, const <a class="el" href="group__ipaddr.html#ga16ef96d6cde029029bbf47fee35fd67a">ip_addr_t</a> *addr, u16_t port)</td></tr>
  115. <tr class="separator:gacba7f74d973872ad0b88b9a96098cf77"><td class="memSeparator" colspan="2">&#160;</td></tr>
  116. <tr class="memitem:ga90bb4c4d1af6602a655b78fce0520402"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netconn__udp.html#ga90bb4c4d1af6602a655b78fce0520402">netconn_disconnect</a> (struct <a class="el" href="structnetconn.html">netconn</a> *conn)</td></tr>
  117. <tr class="separator:ga90bb4c4d1af6602a655b78fce0520402"><td class="memSeparator" colspan="2">&#160;</td></tr>
  118. <tr class="memitem:ga84333ba8e7cdf45558d2b4795f53265d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netconn__tcp.html#ga84333ba8e7cdf45558d2b4795f53265d">netconn_listen_with_backlog</a> (struct <a class="el" href="structnetconn.html">netconn</a> *conn, u8_t backlog)</td></tr>
  119. <tr class="separator:ga84333ba8e7cdf45558d2b4795f53265d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  120. <tr class="memitem:ga13593148f60f7bbc6a505b567f175d69"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netconn__tcp.html#ga13593148f60f7bbc6a505b567f175d69">netconn_accept</a> (struct <a class="el" href="structnetconn.html">netconn</a> *conn, struct <a class="el" href="structnetconn.html">netconn</a> **new_conn)</td></tr>
  121. <tr class="separator:ga13593148f60f7bbc6a505b567f175d69"><td class="memSeparator" colspan="2">&#160;</td></tr>
  122. <tr class="memitem:ga6893cb7648733d1f05696bac94e10490"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netconn__tcp.html#ga6893cb7648733d1f05696bac94e10490">netconn_recv_tcp_pbuf</a> (struct <a class="el" href="structnetconn.html">netconn</a> *conn, struct <a class="el" href="structpbuf.html">pbuf</a> **new_buf)</td></tr>
  123. <tr class="separator:ga6893cb7648733d1f05696bac94e10490"><td class="memSeparator" colspan="2">&#160;</td></tr>
  124. <tr class="memitem:gabb8a242c445ef928c23258a2b2344294"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netconn__tcp.html#gabb8a242c445ef928c23258a2b2344294">netconn_recv_tcp_pbuf_flags</a> (struct <a class="el" href="structnetconn.html">netconn</a> *conn, struct <a class="el" href="structpbuf.html">pbuf</a> **new_buf, u8_t apiflags)</td></tr>
  125. <tr class="separator:gabb8a242c445ef928c23258a2b2344294"><td class="memSeparator" colspan="2">&#160;</td></tr>
  126. <tr class="memitem:a805a90b546c5a149f04782351633979b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="api__lib_8c.html#a805a90b546c5a149f04782351633979b">netconn_recv_udp_raw_netbuf</a> (struct <a class="el" href="structnetconn.html">netconn</a> *conn, struct <a class="el" href="structnetbuf.html">netbuf</a> **new_buf)</td></tr>
  127. <tr class="separator:a805a90b546c5a149f04782351633979b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  128. <tr class="memitem:a505c3b8e400babf9681e09c945b7f421"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="api__lib_8c.html#a505c3b8e400babf9681e09c945b7f421">netconn_recv_udp_raw_netbuf_flags</a> (struct <a class="el" href="structnetconn.html">netconn</a> *conn, struct <a class="el" href="structnetbuf.html">netbuf</a> **new_buf, u8_t apiflags)</td></tr>
  129. <tr class="separator:a505c3b8e400babf9681e09c945b7f421"><td class="memSeparator" colspan="2">&#160;</td></tr>
  130. <tr class="memitem:ga50490bab058f4e740798beffcf48cabf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netconn__common.html#ga50490bab058f4e740798beffcf48cabf">netconn_recv</a> (struct <a class="el" href="structnetconn.html">netconn</a> *conn, struct <a class="el" href="structnetbuf.html">netbuf</a> **new_buf)</td></tr>
  131. <tr class="separator:ga50490bab058f4e740798beffcf48cabf"><td class="memSeparator" colspan="2">&#160;</td></tr>
  132. <tr class="memitem:ga8e1d852119bda1e1b602c2995282ef0c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netconn__udp.html#ga8e1d852119bda1e1b602c2995282ef0c">netconn_sendto</a> (struct <a class="el" href="structnetconn.html">netconn</a> *conn, struct <a class="el" href="structnetbuf.html">netbuf</a> *buf, const <a class="el" href="group__ipaddr.html#ga16ef96d6cde029029bbf47fee35fd67a">ip_addr_t</a> *addr, u16_t port)</td></tr>
  133. <tr class="separator:ga8e1d852119bda1e1b602c2995282ef0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  134. <tr class="memitem:gac4d4d10153d47c80a783c34b27c66238"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netconn__udp.html#gac4d4d10153d47c80a783c34b27c66238">netconn_send</a> (struct <a class="el" href="structnetconn.html">netconn</a> *conn, struct <a class="el" href="structnetbuf.html">netbuf</a> *buf)</td></tr>
  135. <tr class="separator:gac4d4d10153d47c80a783c34b27c66238"><td class="memSeparator" colspan="2">&#160;</td></tr>
  136. <tr class="memitem:gacf9ce6f71652739d6be2ca83f7c423bf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netconn__tcp.html#gacf9ce6f71652739d6be2ca83f7c423bf">netconn_write_partly</a> (struct <a class="el" href="structnetconn.html">netconn</a> *conn, const void *dataptr, size_t size, u8_t apiflags, size_t *bytes_written)</td></tr>
  137. <tr class="separator:gacf9ce6f71652739d6be2ca83f7c423bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
  138. <tr class="memitem:a992b4fe8a855fd94861738f7260d0a32"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="api__lib_8c.html#a992b4fe8a855fd94861738f7260d0a32">netconn_write_vectors_partly</a> (struct <a class="el" href="structnetconn.html">netconn</a> *conn, struct <a class="el" href="structnetvector.html">netvector</a> *vectors, u16_t vectorcnt, u8_t apiflags, size_t *bytes_written)</td></tr>
  139. <tr class="separator:a992b4fe8a855fd94861738f7260d0a32"><td class="memSeparator" colspan="2">&#160;</td></tr>
  140. <tr class="memitem:ga25bb1c1c9928f91f53149a026e2e2624"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netconn__tcp.html#ga25bb1c1c9928f91f53149a026e2e2624">netconn_close</a> (struct <a class="el" href="structnetconn.html">netconn</a> *conn)</td></tr>
  141. <tr class="separator:ga25bb1c1c9928f91f53149a026e2e2624"><td class="memSeparator" colspan="2">&#160;</td></tr>
  142. <tr class="memitem:gab9eccae90351eb6c3d2ca690068445d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netconn__common.html#gab9eccae90351eb6c3d2ca690068445d4">netconn_err</a> (struct <a class="el" href="structnetconn.html">netconn</a> *conn)</td></tr>
  143. <tr class="separator:gab9eccae90351eb6c3d2ca690068445d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  144. <tr class="memitem:ga6ec6b2cf7b0f59e9371e38ae7dea2a63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netconn__tcp.html#ga6ec6b2cf7b0f59e9371e38ae7dea2a63">netconn_shutdown</a> (struct <a class="el" href="structnetconn.html">netconn</a> *conn, u8_t shut_rx, u8_t shut_tx)</td></tr>
  145. <tr class="separator:ga6ec6b2cf7b0f59e9371e38ae7dea2a63"><td class="memSeparator" colspan="2">&#160;</td></tr>
  146. <tr class="memitem:gaaaf2f92eeb38dca70b3e6ad98c3c45ed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netconn__udp.html#gaaaf2f92eeb38dca70b3e6ad98c3c45ed">netconn_join_leave_group</a> (struct <a class="el" href="structnetconn.html">netconn</a> *conn, const <a class="el" href="group__ipaddr.html#ga16ef96d6cde029029bbf47fee35fd67a">ip_addr_t</a> *multiaddr, const <a class="el" href="group__ipaddr.html#ga16ef96d6cde029029bbf47fee35fd67a">ip_addr_t</a> *netif_addr, enum <a class="el" href="api_8h.html#a5c6ded2c082de1536019b197a0a912db">netconn_igmp</a> join_or_leave)</td></tr>
  147. <tr class="separator:gaaaf2f92eeb38dca70b3e6ad98c3c45ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
  148. <tr class="memitem:ga5db2a1cf06a5fbb36f433e637da8729b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netconn__udp.html#ga5db2a1cf06a5fbb36f433e637da8729b">netconn_join_leave_group_netif</a> (struct <a class="el" href="structnetconn.html">netconn</a> *conn, const <a class="el" href="group__ipaddr.html#ga16ef96d6cde029029bbf47fee35fd67a">ip_addr_t</a> *multiaddr, u8_t if_idx, enum <a class="el" href="api_8h.html#a5c6ded2c082de1536019b197a0a912db">netconn_igmp</a> join_or_leave)</td></tr>
  149. <tr class="separator:ga5db2a1cf06a5fbb36f433e637da8729b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  150. <tr class="memitem:gafb3494b149dff96ed8d1acb770ab52f5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netconn__common.html#gafb3494b149dff96ed8d1acb770ab52f5">netconn_gethostbyname_addrtype</a> (const char *name, <a class="el" href="group__ipaddr.html#ga16ef96d6cde029029bbf47fee35fd67a">ip_addr_t</a> *addr, u8_t dns_addrtype)</td></tr>
  151. <tr class="separator:gafb3494b149dff96ed8d1acb770ab52f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  152. </table>
  153. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  154. <div class="textblock"><p>Sequential API External module </p>
  155. </div><h2 class="groupheader">Function Documentation</h2>
  156. <a id="a28430d1d86733f1bf98dc31305c42104"></a>
  157. <h2 class="memtitle"><span class="permalink"><a href="#a28430d1d86733f1bf98dc31305c42104">&#9670;&nbsp;</a></span>netconn_getaddr()</h2>
  158. <div class="memitem">
  159. <div class="memproto">
  160. <table class="memname">
  161. <tr>
  162. <td class="memname"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a> netconn_getaddr </td>
  163. <td>(</td>
  164. <td class="paramtype">struct <a class="el" href="structnetconn.html">netconn</a> *&#160;</td>
  165. <td class="paramname"><em>conn</em>, </td>
  166. </tr>
  167. <tr>
  168. <td class="paramkey"></td>
  169. <td></td>
  170. <td class="paramtype"><a class="el" href="group__ipaddr.html#ga16ef96d6cde029029bbf47fee35fd67a">ip_addr_t</a> *&#160;</td>
  171. <td class="paramname"><em>addr</em>, </td>
  172. </tr>
  173. <tr>
  174. <td class="paramkey"></td>
  175. <td></td>
  176. <td class="paramtype">u16_t *&#160;</td>
  177. <td class="paramname"><em>port</em>, </td>
  178. </tr>
  179. <tr>
  180. <td class="paramkey"></td>
  181. <td></td>
  182. <td class="paramtype">u8_t&#160;</td>
  183. <td class="paramname"><em>local</em>&#160;</td>
  184. </tr>
  185. <tr>
  186. <td></td>
  187. <td>)</td>
  188. <td></td><td></td>
  189. </tr>
  190. </table>
  191. </div><div class="memdoc">
  192. <p>Get the local or remote IP address and port of a netconn. For RAW netconns, this returns the protocol instead of a port!</p>
  193. <dl class="params"><dt>Parameters</dt><dd>
  194. <table class="params">
  195. <tr><td class="paramname">conn</td><td>the netconn to query </td></tr>
  196. <tr><td class="paramname">addr</td><td>a pointer to which to save the IP address </td></tr>
  197. <tr><td class="paramname">port</td><td>a pointer to which to save the port (or protocol for RAW) </td></tr>
  198. <tr><td class="paramname">local</td><td>1 to get the local IP address, 0 to get the remote one </td></tr>
  199. </table>
  200. </dd>
  201. </dl>
  202. <dl class="section return"><dt>Returns</dt><dd>ERR_CONN for invalid connections ERR_OK if the information was retrieved </dd></dl>
  203. </div>
  204. </div>
  205. <a id="ad0a0434e5ff08bb350740cb840e2aca8"></a>
  206. <h2 class="memtitle"><span class="permalink"><a href="#ad0a0434e5ff08bb350740cb840e2aca8">&#9670;&nbsp;</a></span>netconn_new_with_proto_and_callback()</h2>
  207. <div class="memitem">
  208. <div class="memproto">
  209. <table class="memname">
  210. <tr>
  211. <td class="memname">struct <a class="el" href="structnetconn.html">netconn</a>* netconn_new_with_proto_and_callback </td>
  212. <td>(</td>
  213. <td class="paramtype">enum <a class="el" href="group__netconn__common.html#gaaba260d28d105fb4bce9185fd0300d91">netconn_type</a>&#160;</td>
  214. <td class="paramname"><em>t</em>, </td>
  215. </tr>
  216. <tr>
  217. <td class="paramkey"></td>
  218. <td></td>
  219. <td class="paramtype">u8_t&#160;</td>
  220. <td class="paramname"><em>proto</em>, </td>
  221. </tr>
  222. <tr>
  223. <td class="paramkey"></td>
  224. <td></td>
  225. <td class="paramtype"><a class="el" href="api_8h.html#a3e130339f00202b3ab714af502163a2d">netconn_callback</a>&#160;</td>
  226. <td class="paramname"><em>callback</em>&#160;</td>
  227. </tr>
  228. <tr>
  229. <td></td>
  230. <td>)</td>
  231. <td></td><td></td>
  232. </tr>
  233. </table>
  234. </div><div class="memdoc">
  235. <p>Create a new netconn (of a specific type) that has a callback function. The corresponding pcb is also created.</p>
  236. <dl class="params"><dt>Parameters</dt><dd>
  237. <table class="params">
  238. <tr><td class="paramname">t</td><td>the type of 'connection' to create (</td></tr>
  239. </table>
  240. </dd>
  241. </dl>
  242. <dl class="section see"><dt>See also</dt><dd>enum <a class="el" href="group__netconn__common.html#gaaba260d28d105fb4bce9185fd0300d91">netconn_type</a>) </dd></dl>
  243. <dl class="params"><dt>Parameters</dt><dd>
  244. <table class="params">
  245. <tr><td class="paramname">proto</td><td>the IP protocol for RAW IP pcbs </td></tr>
  246. <tr><td class="paramname">callback</td><td>a function to call on status changes (RX available, TX'ed) </td></tr>
  247. </table>
  248. </dd>
  249. </dl>
  250. <dl class="section return"><dt>Returns</dt><dd>a newly allocated struct netconn or NULL on memory error </dd></dl>
  251. </div>
  252. </div>
  253. <a id="a805a90b546c5a149f04782351633979b"></a>
  254. <h2 class="memtitle"><span class="permalink"><a href="#a805a90b546c5a149f04782351633979b">&#9670;&nbsp;</a></span>netconn_recv_udp_raw_netbuf()</h2>
  255. <div class="memitem">
  256. <div class="memproto">
  257. <table class="memname">
  258. <tr>
  259. <td class="memname"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a> netconn_recv_udp_raw_netbuf </td>
  260. <td>(</td>
  261. <td class="paramtype">struct <a class="el" href="structnetconn.html">netconn</a> *&#160;</td>
  262. <td class="paramname"><em>conn</em>, </td>
  263. </tr>
  264. <tr>
  265. <td class="paramkey"></td>
  266. <td></td>
  267. <td class="paramtype">struct <a class="el" href="structnetbuf.html">netbuf</a> **&#160;</td>
  268. <td class="paramname"><em>new_buf</em>&#160;</td>
  269. </tr>
  270. <tr>
  271. <td></td>
  272. <td>)</td>
  273. <td></td><td></td>
  274. </tr>
  275. </table>
  276. </div><div class="memdoc">
  277. <p>Receive data (in form of a netbuf) from a UDP or RAW netconn</p>
  278. <dl class="params"><dt>Parameters</dt><dd>
  279. <table class="params">
  280. <tr><td class="paramname">conn</td><td>the netconn from which to receive data </td></tr>
  281. <tr><td class="paramname">new_buf</td><td>pointer where a new netbuf is stored when received data </td></tr>
  282. </table>
  283. </dd>
  284. </dl>
  285. <dl class="section return"><dt>Returns</dt><dd>ERR_OK if data has been received, an error code otherwise (timeout, memory error or another error) ERR_ARG if conn is not a UDP/RAW netconn </dd></dl>
  286. </div>
  287. </div>
  288. <a id="a505c3b8e400babf9681e09c945b7f421"></a>
  289. <h2 class="memtitle"><span class="permalink"><a href="#a505c3b8e400babf9681e09c945b7f421">&#9670;&nbsp;</a></span>netconn_recv_udp_raw_netbuf_flags()</h2>
  290. <div class="memitem">
  291. <div class="memproto">
  292. <table class="memname">
  293. <tr>
  294. <td class="memname"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a> netconn_recv_udp_raw_netbuf_flags </td>
  295. <td>(</td>
  296. <td class="paramtype">struct <a class="el" href="structnetconn.html">netconn</a> *&#160;</td>
  297. <td class="paramname"><em>conn</em>, </td>
  298. </tr>
  299. <tr>
  300. <td class="paramkey"></td>
  301. <td></td>
  302. <td class="paramtype">struct <a class="el" href="structnetbuf.html">netbuf</a> **&#160;</td>
  303. <td class="paramname"><em>new_buf</em>, </td>
  304. </tr>
  305. <tr>
  306. <td class="paramkey"></td>
  307. <td></td>
  308. <td class="paramtype">u8_t&#160;</td>
  309. <td class="paramname"><em>apiflags</em>&#160;</td>
  310. </tr>
  311. <tr>
  312. <td></td>
  313. <td>)</td>
  314. <td></td><td></td>
  315. </tr>
  316. </table>
  317. </div><div class="memdoc">
  318. <p>Receive data (in form of a netbuf) from a UDP or RAW netconn</p>
  319. <dl class="params"><dt>Parameters</dt><dd>
  320. <table class="params">
  321. <tr><td class="paramname">conn</td><td>the netconn from which to receive data </td></tr>
  322. <tr><td class="paramname">new_buf</td><td>pointer where a new netbuf is stored when received data </td></tr>
  323. <tr><td class="paramname">apiflags</td><td>flags that control function behaviour. For now only:<ul>
  324. <li>NETCONN_DONTBLOCK: only read data that is available now, don't wait for more data </li>
  325. </ul>
  326. </td></tr>
  327. </table>
  328. </dd>
  329. </dl>
  330. <dl class="section return"><dt>Returns</dt><dd>ERR_OK if data has been received, an error code otherwise (timeout, memory error or another error) ERR_ARG if conn is not a UDP/RAW netconn </dd></dl>
  331. </div>
  332. </div>
  333. <a id="a992b4fe8a855fd94861738f7260d0a32"></a>
  334. <h2 class="memtitle"><span class="permalink"><a href="#a992b4fe8a855fd94861738f7260d0a32">&#9670;&nbsp;</a></span>netconn_write_vectors_partly()</h2>
  335. <div class="memitem">
  336. <div class="memproto">
  337. <table class="memname">
  338. <tr>
  339. <td class="memname"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a> netconn_write_vectors_partly </td>
  340. <td>(</td>
  341. <td class="paramtype">struct <a class="el" href="structnetconn.html">netconn</a> *&#160;</td>
  342. <td class="paramname"><em>conn</em>, </td>
  343. </tr>
  344. <tr>
  345. <td class="paramkey"></td>
  346. <td></td>
  347. <td class="paramtype">struct <a class="el" href="structnetvector.html">netvector</a> *&#160;</td>
  348. <td class="paramname"><em>vectors</em>, </td>
  349. </tr>
  350. <tr>
  351. <td class="paramkey"></td>
  352. <td></td>
  353. <td class="paramtype">u16_t&#160;</td>
  354. <td class="paramname"><em>vectorcnt</em>, </td>
  355. </tr>
  356. <tr>
  357. <td class="paramkey"></td>
  358. <td></td>
  359. <td class="paramtype">u8_t&#160;</td>
  360. <td class="paramname"><em>apiflags</em>, </td>
  361. </tr>
  362. <tr>
  363. <td class="paramkey"></td>
  364. <td></td>
  365. <td class="paramtype">size_t *&#160;</td>
  366. <td class="paramname"><em>bytes_written</em>&#160;</td>
  367. </tr>
  368. <tr>
  369. <td></td>
  370. <td>)</td>
  371. <td></td><td></td>
  372. </tr>
  373. </table>
  374. </div><div class="memdoc">
  375. <p>Send vectorized data atomically over a TCP netconn.</p>
  376. <dl class="params"><dt>Parameters</dt><dd>
  377. <table class="params">
  378. <tr><td class="paramname">conn</td><td>the TCP netconn over which to send data </td></tr>
  379. <tr><td class="paramname">vectors</td><td>array of vectors containing data to send </td></tr>
  380. <tr><td class="paramname">vectorcnt</td><td>number of vectors in the array </td></tr>
  381. <tr><td class="paramname">apiflags</td><td>combination of following flags :<ul>
  382. <li>NETCONN_COPY: data will be copied into memory belonging to the stack</li>
  383. <li>NETCONN_MORE: for TCP connection, PSH flag will be set on last segment sent</li>
  384. <li>NETCONN_DONTBLOCK: only write the data if all data can be written at once </li>
  385. </ul>
  386. </td></tr>
  387. <tr><td class="paramname">bytes_written</td><td>pointer to a location that receives the number of written bytes </td></tr>
  388. </table>
  389. </dd>
  390. </dl>
  391. <dl class="section return"><dt>Returns</dt><dd>ERR_OK if data was sent, any other err_t on error </dd></dl>
  392. </div>
  393. </div>
  394. </div><!-- contents -->
  395. </div><!-- doc-content -->
  396. <!-- start footer part -->
  397. <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  398. <ul>
  399. <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_da61e3e9a357748887e3ca8d7c5a0c16.html">api</a></li><li class="navelem"><a class="el" href="api__lib_8c.html">api_lib.c</a></li>
  400. <li class="footer">Generated by
  401. <a href="http://www.doxygen.org/index.html">
  402. <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  403. </ul>
  404. </div>
  405. </body>
  406. </html>