📄 zudp.h
字号:
#ifndef _ZUDP_H#define _ZUDP_H#include "zarch.h"#include "zdef.h"#include "zbuffer.h"#include "znetif.h"#include "zipv4.h"#include "zsocket.h"#define UDP_HEAD_LEN 8#define UDP_BUFFER_LEN 5 /*every socket's buffer chain number*/#define UDP_FLAGS_WAIT 0x01 #define UDP_STATE_WAIT 0x01STRUCT_BEGINtypedef struct _udp_header{ u16_t src_port; u16_t dest_port; u16_t len; u16_t chksum;}udp_header_t;STRUCT_ENDtypedef struct _udp_pcb{ zsocket_t *_psocket; /*identify of UDP socket*/ sys_sem_t _sem; u8_t _udp_state; zbuffer_t *_data[UDP_BUFFER_LEN]; /*storeage udp's data only store five buffer chain*/ u8_t _rindex; u8_t _windex; }udp_pcb_t;extern void udp_init(void);extern u8_t udp_open(zsocket_t *psocket);extern u8_t udp_close(zsocket_t *psocket);extern void udp_input(znetif_t *pnetif, zbuffer_t *pbuffer);extern u8_t udp_recv(zsocket_t *psocket , ipaddr_t *remote_ip, u16_t *remote_port, zbuffer_t **pdata, u8_t flags);extern u8_t udp_send(zsocket_t *psocket , ipaddr_t *remote_ip, u16_t *remote_port, void *pdata, u16_t *psize);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -