项目名称:TCP/IP协议栈
项目编号:
文档编号:EBD881101PDR003
UDP模块概要设计
沈阳东软软件股份有限公司
总页数 | 7 | 正文 | 4 | 附录 | 3 | 生效日期 | 2.12-03-13 |
编制 | 左自强 | 批准 | 阳阳 |
修改履历
修改编号 | 日期 | 修改人 | 版本号 | 修改内容 |
1 | 2012.03.12 | 左自强 | VER0.4 | 初始做成 |
2 | 2012.03.12 | 左自强 | VER0.8 | 完成设计 |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
目 录
1 文档概述
1.1 文档目的和范围
主要实现udp数据的发送和接收功能
1.2 术语/缩略语
序号 | 术语/缩略语 | 说明 |
1 | DHCP | 动态主机配置协议 |
2 | UDP | 用户数据包协议 |
3 | IP | 网络之间互连的协议 |
1.3 参考文档
序号 | 文档名 | 版本 |
1 | 需求分析 | Ver0.8 |
2 | 基于μCOS-Ⅱ的嵌入式TCPIP_协议栈的研究与实现 | 1.4 |
2 模块概述
模块主要功能是将上层应用程序发送的数据打包之后交给ip层和将ip层收到的数据解包之后发给对应端口号的应用程序。
3 接口说明
3.1 数据结构定义
struct Udp{
u16_t s_port;//源端口号
u16_t d_port;//目的端口号
u16_t length;//UDP长度
u16_t checksum;//校验和
}udp_node;
3.2 函数
3.2.1 模块间接口函数
3.2.1.1 udp_rec
函数名 | udp_rec | |||
文件名 | ../udp | |||
功能概要 | 接收udp数据 | |||
记述形式 | void udp_rec(udp_node *data) | |||
参数 | ||||
类型 | 变量名 | I/O | 说明 | |
udp_node * | -data | - | -指向接收到的UDP报文首地址地址 | |
返回值 | 类型 | void | 说明 | |
值 |
|
| ||
|
| |||
详细说明 | ||||
接收从IP层接收到的UDP数据,并交给UDP接收处理模块 | ||||
使用注意事项 | ||||
当IP层接收到UDP数据的时候调用 |
3.2.1.2 udp_send
函数名 | udp_send | |||
文件名 | ../udp | |||
功能概要 | 发送UDP报文 | |||
记述形式 | u8_t udp_send (u16_t *s_port, u16_t *d_port,dhcp_node *data) | |||
参数 | ||||
类型 | 变量名 | I/O | 说明 | |
u16_t * | s_port |
| 指向源端口号 | |
u16_t * | d_port |
| 指向目的端口号 | |
dhcp_node * | data |
| 指向一个DHCP报文首地址地址 | |
返回值 | 类型 | u8_t | 说明 | |
| 值 | 1 | 发送成功 | |
| 0 | 发送失败 | ||
详细说明 | ||||
供DHCP调用,发送DHCP报文 | ||||
使用注意事项 | ||||
DHCP发送DHCP报文时调用 |
3.2.2 模块内接口函数
3.2.2.1 udp_input
函数名 | udp_input | |||
文件名 | ../udp | |||
功能概要 | 将收到的数据交给DHCP | |||
记述形式 | void udp_input(dhcp_node *data) | |||
参数 | ||||
类型 | 变量名 | I/O | 说明 | |
dhcp_node * | data | I/O | 指向一个DHCP报文首地址地址 | |
返回值 | 类型 | Void | 说明 | |
详细说明 | ||||
将收到的UDP报文拆包后,把剩下的DHCP数据传给DHCP | ||||
使用注意事项 | ||||
无 |
3.2.2.2 udp_output
函数名 | udp_output | |||
文件名 | ../udp | |||
功能概要 |
| |||
记述形式 | void out_put(udp_node *data) | |||
参数 | ||||
类型 | 变量名 | I/O | 说明 | |
udp_node * | data | I/O | 指向一个UDP报文的首地址 | |
返回值 | 类型 | Void | 说明 | |
详细说明 | ||||
将打包好的UDP报文交给IP层发送 | ||||
使用注意事项 | ||||
无 |