icmp.c

来自「S3C2440驱动DM9000A的裸机程序」· C语言 代码 · 共 19 行

C
19
字号
#include "MyLib.h"

void ICMP_receive(U8 *buf, U32 len)
{
	U32 sum;
	U8 tmp[1600];
	if(Calc_checksum(buf+34, len))
		return;
	if(buf[34]==8){							// Ping 请求
		tmp[34]=0;								// Ping msg_type
		tmp[35]=0;								// Ping msg_code
		tmp[36]=tmp[37]=0;					// Checksum
		MyMemcpy(tmp+38, buf+38, len-4);
		sum=Calc_checksum(tmp+34, len);
		tmp[36]=sum/256;  tmp[37]=sum%256;
		IP_send(tmp, buf+0x1A, ICMP_TYPE, len);
	}
}

⌨️ 快捷键说明

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