UIP中文文档第四 应用层要调用的函数

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

这一部分包含的内容较多,包括一些宏定义和函数.

宏定义:

1.#define uip_outstanding(conn) ((conn)->len)

2.#define uip_datalen() 存放在uip_appdata中的现行可用的传入数据长度

3.#define uip_urgdatalen() 到达连接的带外数据长度(紧急的)

4.#define uip_close() 关闭当前连接

5.#define uip_abort() 中止当前连接

6.#define uip_stop() 告诉发送方主机停止发送数据

7.#define uip_stopped() 查明当前连接是否以前被uip_stop()停止过.

8.#define uip_restart() 如果当前连接被uip_stop()停止过,重新开始.

9.#define uip_udpconnection() 查明当前连接是否是udp连接.

10.#define uip_newdata() 查明新传入的数据是否可用

11.#define uip_acked() 查明以前发送的数据是否得到回应了

12.#define uip_connected() 查明连接是否连接上了.

13.#define uip_closed() 查明连接是否是被另一端关闭.

14.#define uip_aborted() 查明连接是否被另一端中止.

15.#define uip_timeout() 查明连接是否超时.

16.#define uip_rexmit() 查明是否需要将上次传送的数据重新传送.

17.#define uip_poll() 查明连接是否被uip轮询了.

18.#define uip_initialmss() 获得当前连接的初始最大段大小.

19.#define uip_mss() 获取可以在当前连接上发送的最大段大小.

20.#define uip_udp_remove(conn) 移除一个udp连接.

21.#define uip_udp_bind(conn,port) 绑定一个udp连接到本地端口

22.#define uip_udp_send(len) 在当前连接上发送一个长度为len的udp数据报. 复制代码

函数:

1.void uip_listen(u16_t port); 开始监听指定的端口.

2.void uip_unlisten(u16_t port);停止监听指定的端口.

3.uip_conn * uip_connect(uip_ipaddr_t * ripaddr, u16_t port); 通过TCP

连接到远程主机.

4.void uip_send(const void * data,int len); 在当前连接上发送数据.

5.uip_udp_conn * uip_udp_new(uip_ipaddr_t * ripaddr ,u16_t port);建立

一个新的udp连接.

复制代码

1. #define uip_datalen()

如果有当前可用的传入数据的话,获取其长度.必需先调用uip_data()查明是否有当前可用的传入数据.

应有例程:

dhcpc.c, telnetd.c, and webclient.c.

此宏定义于uip.h的550行.

2. #define uip_urgdatalen()

任何到达连接的带外数据(紧迫数据)长度.要使用此宏,应配置UIP_URGDATA宏为真. 此宏定义于

此宏定义于uip.h的561行.

3. #define uip_close()

此函数会以一种谨慎的方式关闭连接.

应用例程:

telnetd.c.

此宏定义于uip.h的570行.

4. #define uip_abort()

此函数用于中止(重置)当前连接,多用于出现错误导致无法使用uip_close()的场合.

应用示例:

webclient.c.

此宏定义于uip.h的581行.

5. #define uip_stop()

告诉发送主机停止发送数据.此函数会关闭接收机窗口,停止从当前连接接收数据.

此宏定义于uip.h的591行.

6. #define uip_restart()

如果当前连接曾被uip_stop()停止,那么重新开始.

该函数会重新打开接收机窗口,从当前连接上接收数据.

此宏定义于uip.h的610行.

7. #define uip_udpconnection()

此函数查明当前连接是否是一个udp连接.

此宏定义于uip.h的626行.

8. #define uip_newdata()

如果uip_appdata指针所指之处有送给应用的新数据,此宏得到一个非零值.数据的大小可以通过uip_len获得.

应用例程:

dhcpc.c, resolv.c, telnetd.c, and webclient.c.

此宏定义于uip.h的637行.

9. #define uip_acked()

如果上次发送给远程主机的数据得到回应了,此宏得到一个非零值,这意味着应用可以发送新的数据.

应用例程:

telnetd.c, and webclient.c.

此宏定义于uip.h的648行.

10. #define uip_connected()

如果当前连接己经与远程主机连接,则此宏得到非零值.这包括两种情形,一是连接被主动打开(通过uip_connect()),二是连接被被动打开(通过uip_listen()).

应用例程:

hello-world.c, telnetd.c, and webclient.c

此宏定义于uip.h的660行.

11. #define uip_closed()

如果远程主机关闭了当前连接,则此宏得到非零值.这时应用可能要做一些清理工作.

应用例程:

smtp.c, telnetd.c, and webclient.c.

此宏定义于uip.h的670行.

12. #define uip_aborted()

如果当前连接被远程主机中止或重置,则为非零值.

应用例程:

smtp.c, telnetd.c, and webclient.c此宏定义于uip.h的680行.

相关文档
最新文档