⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 a00202.html

📁 最新的免费嵌入式系统TCP/IP协议栈!
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<a name="l00565"></a>00565 <span class="comment"> *</span><a name="l00566"></a>00566 <span class="comment"> * This function will close the current connection in a nice way.</span><a name="l00567"></a>00567 <span class="comment"> *</span><a name="l00568"></a>00568 <span class="comment"> * \hideinitializer</span><a name="l00569"></a>00569 <span class="comment"> */</span><a name="l00570"></a><a class="code" href="a00147.html#g61db1dcb7c760e4dd5d60bf4e5576dca">00570</a> <span class="preprocessor">#define uip_close()         (uip_flags = UIP_CLOSE)</span><a name="l00571"></a>00571 <span class="preprocessor"></span><span class="comment"></span><a name="l00572"></a>00572 <span class="comment">/**</span><a name="l00573"></a>00573 <span class="comment"> * Abort the current connection.</span><a name="l00574"></a>00574 <span class="comment"> *</span><a name="l00575"></a>00575 <span class="comment"> * This function will abort (reset) the current connection, and is</span><a name="l00576"></a>00576 <span class="comment"> * usually used when an error has occured that prevents using the</span><a name="l00577"></a>00577 <span class="comment"> * uip_close() function.</span><a name="l00578"></a>00578 <span class="comment"> *</span><a name="l00579"></a>00579 <span class="comment"> * \hideinitializer</span><a name="l00580"></a>00580 <span class="comment"> */</span><a name="l00581"></a><a class="code" href="a00147.html#g88d2ccf7cd821f89d9a8df7e3948b56c">00581</a> <span class="preprocessor">#define uip_abort()         (uip_flags = UIP_ABORT)</span><a name="l00582"></a>00582 <span class="preprocessor"></span><span class="comment"></span><a name="l00583"></a>00583 <span class="comment">/**</span><a name="l00584"></a>00584 <span class="comment"> * Tell the sending host to stop sending data.</span><a name="l00585"></a>00585 <span class="comment"> *</span><a name="l00586"></a>00586 <span class="comment"> * This function will close our receiver's window so that we stop</span><a name="l00587"></a>00587 <span class="comment"> * receiving data for the current connection.</span><a name="l00588"></a>00588 <span class="comment"> *</span><a name="l00589"></a>00589 <span class="comment"> * \hideinitializer</span><a name="l00590"></a>00590 <span class="comment"> */</span><a name="l00591"></a><a class="code" href="a00147.html#g0a8bb9d6d0f1f56852ccfccbbad6c5d8">00591</a> <span class="preprocessor">#define uip_stop()          (uip_conn-&gt;tcpstateflags |= UIP_STOPPED)</span><a name="l00592"></a>00592 <span class="preprocessor"></span><span class="comment"></span><a name="l00593"></a>00593 <span class="comment">/**</span><a name="l00594"></a>00594 <span class="comment"> * Find out if the current connection has been previously stopped with</span><a name="l00595"></a>00595 <span class="comment"> * uip_stop().</span><a name="l00596"></a>00596 <span class="comment"> *</span><a name="l00597"></a>00597 <span class="comment"> * \hideinitializer</span><a name="l00598"></a>00598 <span class="comment"> */</span><a name="l00599"></a><a class="code" href="a00147.html#g64a238a5c02640a7a4aef004163aeb47">00599</a> <span class="preprocessor">#define uip_stopped(conn)   ((conn)-&gt;tcpstateflags &amp; UIP_STOPPED)</span><a name="l00600"></a>00600 <span class="preprocessor"></span><span class="comment"></span><a name="l00601"></a>00601 <span class="comment">/**</span><a name="l00602"></a>00602 <span class="comment"> * Restart the current connection, if is has previously been stopped</span><a name="l00603"></a>00603 <span class="comment"> * with uip_stop().</span><a name="l00604"></a>00604 <span class="comment"> *</span><a name="l00605"></a>00605 <span class="comment"> * This function will open the receiver's window again so that we</span><a name="l00606"></a>00606 <span class="comment"> * start receiving data for the current connection.</span><a name="l00607"></a>00607 <span class="comment"> *</span><a name="l00608"></a>00608 <span class="comment"> * \hideinitializer</span><a name="l00609"></a>00609 <span class="comment"> */</span><a name="l00610"></a><a class="code" href="a00147.html#g81ac47cee1c18f6aa479044069db7ca3">00610</a> <span class="preprocessor">#define uip_restart()         do { uip_flags |= UIP_NEWDATA; \</span><a name="l00611"></a>00611 <span class="preprocessor">                                   uip_conn-&gt;tcpstateflags &amp;= ~UIP_STOPPED; \</span><a name="l00612"></a>00612 <span class="preprocessor">                              } while(0)</span><a name="l00613"></a>00613 <span class="preprocessor"></span><a name="l00614"></a>00614 <a name="l00615"></a>00615 <span class="comment">/* uIP tests that can be made to determine in what state the current</span><a name="l00616"></a>00616 <span class="comment">   connection is, and what the application function should do. */</span><a name="l00617"></a>00617 <span class="comment"></span><a name="l00618"></a>00618 <span class="comment">/**</span><a name="l00619"></a>00619 <span class="comment"> * Is the current connection a UDP connection?</span><a name="l00620"></a>00620 <span class="comment"> *</span><a name="l00621"></a>00621 <span class="comment"> * This function checks whether the current connection is a UDP connection.</span><a name="l00622"></a>00622 <span class="comment"> *</span><a name="l00623"></a>00623 <span class="comment"> * \hideinitializer</span><a name="l00624"></a>00624 <span class="comment"> *</span><a name="l00625"></a>00625 <span class="comment"> */</span><a name="l00626"></a><a class="code" href="a00147.html#ga9de254b8aa308eb4aab17efdde622d2">00626</a> <span class="preprocessor">#define uip_udpconnection() (uip_conn == NULL)</span><a name="l00627"></a>00627 <span class="preprocessor"></span><span class="comment"></span><a name="l00628"></a>00628 <span class="comment">/**</span><a name="l00629"></a>00629 <span class="comment"> * Is new incoming data available?</span><a name="l00630"></a>00630 <span class="comment"> *</span><a name="l00631"></a>00631 <span class="comment"> * Will reduce to non-zero if there is new data for the application</span><a name="l00632"></a>00632 <span class="comment"> * present at the uip_appdata pointer. The size of the data is</span><a name="l00633"></a>00633 <span class="comment"> * avaliable through the uip_len variable.</span><a name="l00634"></a>00634 <span class="comment"> *</span><a name="l00635"></a>00635 <span class="comment"> * \hideinitializer</span><a name="l00636"></a>00636 <span class="comment"> */</span><a name="l00637"></a><a class="code" href="a00147.html#g26a14b8dae3f861830af9e7cf1e03725">00637</a> <span class="preprocessor">#define uip_newdata()   (uip_flags &amp; UIP_NEWDATA)</span><a name="l00638"></a>00638 <span class="preprocessor"></span><span class="comment"></span><a name="l00639"></a>00639 <span class="comment">/**</span><a name="l00640"></a>00640 <span class="comment"> * Has previously sent data been acknowledged?</span><a name="l00641"></a>00641 <span class="comment"> *</span><a name="l00642"></a>00642 <span class="comment"> * Will reduce to non-zero if the previously sent data has been</span><a name="l00643"></a>00643 <span class="comment"> * acknowledged by the remote host. This means that the application</span><a name="l00644"></a>00644 <span class="comment"> * can send new data.</span><a name="l00645"></a>00645 <span class="comment"> *</span><a name="l00646"></a>00646 <span class="comment"> * \hideinitializer</span><a name="l00647"></a>00647 <span class="comment"> */</span><a name="l00648"></a><a class="code" href="a00147.html#gde6634974418e3240c212b9b16864368">00648</a> <span class="preprocessor">#define uip_acked()   (uip_flags &amp; UIP_ACKDATA)</span><a name="l00649"></a>00649 <span class="preprocessor"></span><span class="comment"></span><a name="l00650"></a>00650 <span class="comment">/**</span><a name="l00651"></a>00651 <span class="comment"> * Has the connection just been connected?</span><a name="l00652"></a>00652 <span class="comment"> *</span><a name="l00653"></a>00653 <span class="comment"> * Reduces to non-zero if the current connection has been connected to</span><a name="l00654"></a>00654 <span class="comment"> * a remote host. This will happen both if the connection has been</span><a name="l00655"></a>00655 <span class="comment"> * actively opened (with uip_connect()) or passively opened (with</span><a name="l00656"></a>00656 <span class="comment"> * uip_listen()).</span><a name="l00657"></a>00657 <span class="comment"> *</span><a name="l00658"></a>00658 <span class="comment"> * \hideinitializer</span><a name="l00659"></a>00659 <span class="comment"> */</span><a name="l00660"></a><a class="code" href="a00147.html#gdb971fb1525d0c5002f52125b05f3218">00660</a> <span class="preprocessor">#define uip_connected() (uip_flags &amp; UIP_CONNECTED)</span><a name="l00661"></a>00661 <span class="preprocessor"></span><span class="comment"></span><a name="l00662"></a>00662 <span class="comment">/**</span><a name="l00663"></a>00663 <span class="comment"> * Has the connection been closed by the other end?</span><a name="l00664"></a>00664 <span class="comment"> *</span><a name="l00665"></a>00665 <span class="comment"> * Is non-zero if the connection has been closed by the remote</span><a name="l00666"></a>00666 <span class="comment"> * host. The application may then do the necessary clean-ups.</span><a name="l00667"></a>00667 <span class="comment"> *</span><a name="l00668"></a>00668 <span class="comment"> * \hideinitializer</span><a name="l00669"></a>00669 <span class="comment"> */</span><a name="l00670"></a><a class="code" href="a00147.html#gef6c4140c632b6a406779342cf3b6eb6">00670</a> <span class="preprocessor">#define uip_closed()    (uip_flags &amp; UIP_CLOSE)</span><a name="l00671"></a>00671 <span class="preprocessor"></span><span class="comment"></span><a name="l00672"></a>00672 <span class="comment">/**</span><a name="l00673"></a>00673 <span class="comment"> * Has the connection been aborted by the other end?</span><a name="l00674"></a>00674 <span class="comment"> *</span><a name="l00675"></a>00675 <span class="comment"> * Non-zero if the current connection has been aborted (reset) by the</span><a name="l00676"></a>00676 <span class="comment"> * remote host.</span><a name="l00677"></a>00677 <span class="comment"> *</span><a name="l00678"></a>00678 <span class="comment"> * \hideinitializer</span><a name="l00679"></a>00679 <span class="comment"> */</span><a name="l00680"></a><a class="code" href="a00147.html#gfbd5fc486dfdf6bf6fc9db52b1f418c4">00680</a> <span class="preprocessor">#define uip_aborted()    (uip_flags &amp; UIP_ABORT)</span><a name="l00681"></a>00681 <span class="preprocessor"></span><span class="comment"></span><a name="l00682"></a>00682 <span class="comment">/**</span><a name="l00683"></a>00683 <span class="comment"> * Has the connection timed out?</span><a name="l00684"></a>00684 <span class="comment"> *</span><a name="l00685"></a>00685 <span class="comment"> * Non-zero if the current connection has been aborted due to too many</span><a name="l00686"></a>00686 <span class="comment"> * retransmissions.</span><a name="l00687"></a>00687 <span class="comment"> *</span><a name="l00688"></a>00688 <span class="comment"> * \hideinitializer</span><a name="l00689"></a>00689 <span class="comment"> */</span><a name="l00690"></a><a class="code" href="a00147.html#g7b2ac4b18bd2ac3912fe67b3b17158c3">00690</a> <span class="preprocessor">#define uip_timedout()    (uip_flags &amp; UIP_TIMEDOUT)</span><a name="l00691"></a>00691 <span class="preprocessor"></span><span class="comment"></span><a name="l00692"></a>00692 <span class="comment">/**</span><a name="l00693"></a>00693 <span class="comment"> * Do we need to retransmit previously data?</span><a name="l00694"></a>00694 <span class="comment"> *</span><a name="l00695"></a>00695 <span class="comment"> * Reduces to non-zero if the previously sent data has been lost in</span><a name="l00696"></a>00696 <span class="comment"> * the network, and the application should retransmit it. The</span><a name="l00697"></a>00697 <span class="comment"> * application should send the exact same data as it did the last</span><a name="l00698"></a>00698 <span class="comment"> * time, using the uip_send() function.</span><a name="l00699"></a>00699 <span class="comment"> *</span><a name="l00700"></a>00700 <span class="comment"> * \hideinitializer</span><a name="l00701"></a>00701 <span class="comment"> */</span><a name="l00702"></a><a class="code" href="a00147.html#ga8933ad15a2e2947dae4a5cff50e6007">00702</a> <span class="preprocessor">#define uip_rexmit()     (uip_flags &amp; UIP_REXMIT)</span><a name="l00703"></a>00703 <span class="preprocessor"></span><span class="comment"></span><a name="l00704"></a>00704 <span class="comment">/**</span><a name="l00705"></a>00705 <span class="comment"> * Is the connection being polled by uIP?</span><a name="l00706"></a>00706 <spa

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -