1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #ifndef __SYS_PING_H
- #define __SYS_PING_H
- #include "stdint.h"
- typedef struct icmp_hdr
-
- {
-
- unsigned char icmp_type; // 消息类型
-
- unsigned char icmp_code; // 代码
-
- unsigned short icmp_checksum; // 校验和
-
- // 下面是回显头
-
- unsigned short icmp_id; // 用来惟一标识此请求的ID号
-
- unsigned short icmp_sequence; // 序列号
-
- unsigned long icmp_timestamp; // 时间戳
-
- } ICMP_HDR, *PICMP_HDR;
-
-
-
- typedef struct _IPHeader// 20字节的IP头
-
- {
-
- uint8_t iphVerLen; // 版本号和头长度(各占4位)
-
- uint8_t ipTOS; // 服务类型
-
- uint16_t ipLength; // 封包总长度,即整个IP报的长度
-
- uint16_t ipID; // 封包标识,惟一标识发送的每一个数据报
-
- uint16_t ipFlags; // 标志
-
- uint8_t ipTTL; // 生存时间,就是TTL
-
- uint8_t ipProtocol; // 协议,可能是TCP、UDP、ICMP等
-
- uint16_t ipChecksum; // 校验和
-
- uint32_t ipSource; // 源IP地址
-
- uint32_t ipDestination; // 目标IP地址
-
- } IPHeader, *PIPHeader;
-
- typedef int SOCKET;
- void ping_task_creat();
- void ETH_PingWork(void const * argument);
- #endif
|