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

📄 net_ping.c

📁 本程序功能为在FPGA上nios处理器的网卡接口程序。
💻 C
字号:
#include "stdio.h"
#include "alt_types.h"


void Revert_Ping(void)  //回复Ping数据包
{
   UINT i,Data_Len,Data_SUM,Len;
   //开始拼接Ping的回复数据包开始
   HEAD_Ethernet();        //以太网头
   HEAD_IP();   //IP首部
   Len=Start_ICMP;
   //ICMP首部
   Data_Len=Receive_Buffer[14+2]*256+Receive_Buffer[14+2+1]-20;  //ICMP包的长度
   Send_Buffer[Len++]=0;  //回显应答(Ping应答)
   Send_Buffer[Len++]=0;
   Send_Buffer[Len++]=0;  //校验和
   Send_Buffer[Len++]=0;
   for (i=0;i<4;i++)
      Send_Buffer[Len++]=Receive_Buffer[Len];  //表示符和序号
   for (i=0;i<Data_Len-8;i++)
      Send_Buffer[Len++]=Receive_Buffer[Len];  //选项数据

   //计算校验和
   Data_SUM=CHECK_SUM(Send_Buffer,14+20,Data_Len); //ICMP首部校验和
   Send_Buffer[14+20+2]=Data_SUM/0x100;
   Send_Buffer[14+20+3]=Data_SUM&0xff;

   //拼接数据包结束

   NET_Send_Packet(Send_Buffer,Len);  //发送数据包
}




⌨️ 快捷键说明

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