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

📄 icmp.c

📁 AVR以太网开发板中的几个例子。文件中定义了网卡芯片的IP地址,默认值是192.168.0.99。
💻 C
字号:
#include "main.h"
#include "rtl8019as.h"
#include "arp.h"
#include "ip.h"
#include "icmp.h"
#include "udp.h"

unsigned char icmp_packhandle(unsigned char *icmpbegin,unsigned int icmplen)
{
 //unsigned char icmp_typ=0;
 unsigned int  icmp_chksum=0;
 unsigned int  icmp_id=0;
 unsigned int  icmp_sn=0;
 //unsigned int  icmp_datalen=0;
 unsigned int  *icmp_p;
 
 icmp_p=(unsigned int *)icmpbegin;
 //icmp_datalen=(icmplen-8);
  
 switch((*icmpbegin))
 {
  case 0x08:     //回应请求报文
       icmp_id=(*(icmpbegin+4));
	   icmp_id<<=8;
	   icmp_id|=(*(icmpbegin+5));
	   
	   icmp_sn=(*(icmpbegin+6));
	   icmp_sn<<=8;
	   icmp_sn|=(*(icmpbegin+7));
	   
	   (*icmpbegin)=0x00;
	   (*(icmpbegin+2))=0;
       (*(icmpbegin+3))=0;
       icmp_chksum=tsum(icmp_p,icmplen); //校验和的求法
	   (*(icmpbegin+3))=(icmp_chksum>>8)&0xFF;
	   (*(icmpbegin+2))=icmp_chksum&0xFF;	   	   
       break;
	   
  default:break;
 }
 return 1;
}

⌨️ 快捷键说明

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