亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? arp.c

?? UCOS 在ARM9_S3c2410上的移植
?? C
字號:
#define ARP_GLOBALS
#include "config.h"
#include "../include/cfg_net.h"
typedef struct    { /* arp報文的內容總長28字節*/
                                       
                 uint16 	HardwareType;  	    /*以太網為0x0001*/
                 uint16 	ProtocalType;   	/*ip 為0X0800*/
                 uint8 	HardwareLen;        /*=0X06*/
                 uint8 	ProtocalLen;        /*=0X04*/
                 uint16 	Operation;         	/*操作  0X0001為請求   0X0002為應答  */
                                           	/*0X0003為反向地址請求 0X0004為反向地址應答*/
                 uint8 	SourceMacId[6];   	/*源網卡地址*/
                 uint8 	SourceIp[4];       	/*源IP地址*/
                 uint8 	DestMacId[6];     	/*目的網卡地址*/
                 uint8 	DestId[4];         	/*目的IP地址*/
                } arp ;
uint8 ARP_REP_MAC[6]={0XFF,0XFF,0XFF,0XFF,0XFF,0XFF};
uint8 Ping_Ip_Address[4];
uint8 Ping_IP_TTL;
//uint8 My_Ip_Address[4]=MY_IP;
//uint8 My_Gateway_Ip_Address[4]=MY_GATEWAY;
//uint8 MY_IP_MARK[4]=IP_MARK_SETTING;
//struct a_t ARP_TERM[MAX_ARP_TERM];


//===========================================================
/**********************************************************************
**函數原型:    unsigned char Arp_Answer(unsigned char EX_RAM * ARP_REC_PTR)
**入口參數:		* ARP_REC_PTR	:接收到的ARP請求包的指針
**出口參數:		unsigned char
**返 回 值:	0		:本子網內的ARP緩沖區已經有MAC
**				1		:目標IP不是本機不作回應
**				2		:本子網內的,但ARP緩沖區還沒有MAC
**				3		:不是本子網的ARP請求
**				4		:ARP緩沖區已經滿
**說    明:	對ARP請求報文的應答:填充本地物理地址,將ARP操作改為回答.
************************************************************************/
uint8 Arp_Answer(uint8 * ARP_REC_PTR,uint8 num) 
{
struct _pkst TxdArp;
uint8 SEND_ARP_MAC[6];
uint8 i;
//如果目標IP地址是本機IP
if (((arp*)ARP_REC_PTR)->DestId[0]==NetPort[num].My_Ip[0])
if (((arp*)ARP_REC_PTR)->DestId[1]==NetPort[num].My_Ip[1])
if (((arp*)ARP_REC_PTR)->DestId[2]==NetPort[num].My_Ip[2])
if (((arp*)ARP_REC_PTR)->DestId[3]==NetPort[num].My_Ip[3])
	{										//表示是要解析本地IP的請求
	for(i=0;i<4;i++)						//復制對方IP地址,填充源地址
		{
        SEND_ARP_MAC[i]=((arp*)ARP_REC_PTR)->SourceIp[i];
		((arp*)ARP_REC_PTR)->SourceIp[i]=NetPort[num].My_Ip[i];
		((arp*)ARP_REC_PTR)->DestId[i]=SEND_ARP_MAC[i];
		}
	for(i=0;i<6;i++)
   		{									//復制對方物理地址或網關地址
        SEND_ARP_MAC[i]=((arp*)ARP_REC_PTR)->SourceMacId[i];
		((arp*)ARP_REC_PTR)->SourceMacId[i]=NetPort[num].My_Mac[i];
		((arp*)ARP_REC_PTR)->DestMacId[i]=SEND_ARP_MAC[i];
    	}
#ifdef Big_End
	((arp*)ARP_REC_PTR)->Operation=0x0002;	//表明數據幀為ARP應答
#endif
#ifdef Little_End
	((arp*)ARP_REC_PTR)->Operation=0x0200;	//表明數據幀為ARP應答
#endif
	TxdArp.STPTR=NULL;
	TxdArp.length=0x60;
	TxdArp.DAPTR=ARP_REC_PTR;
	Send_ethernet_Frame(&TxdArp,SEND_ARP_MAC,ARP_PACKED,num);//發送ARP應答幀
	//如果發送方屬于本網段
		if((((arp*)ARP_REC_PTR)->SourceIp[0]&NetPort[num].My_Ip_Mark[0])==(NetPort[num].My_Ip[0]&NetPort[num].My_Ip_Mark[0]))
		if((((arp*)ARP_REC_PTR)->SourceIp[1]&NetPort[num].My_Ip_Mark[1])==(NetPort[num].My_Ip[1]&NetPort[num].My_Ip_Mark[1]))
		if((((arp*)ARP_REC_PTR)->SourceIp[2]&NetPort[num].My_Ip_Mark[2])==(NetPort[num].My_Ip[2]&NetPort[num].My_Ip_Mark[2]))
		if((((arp*)ARP_REC_PTR)->SourceIp[3]&NetPort[num].My_Ip_Mark[3])==(NetPort[num].My_Ip[3]&NetPort[num].My_Ip_Mark[3]))
		{
			//查找有否屬于該IP的對應MAC表
			for(i=0;i<MAX_ARP_TERM;i++)
			{
				if(NetPort[num].ARP_TERM[i].IP_NUM[2]==((arp*)ARP_REC_PTR)->SourceIp[2])
				if(NetPort[num].ARP_TERM[i].IP_NUM[3]==((arp*)ARP_REC_PTR)->SourceIp[3])
				if(NetPort[num].ARP_TERM[i].TTL>0)
				{//有則刷新
					NetPort[num].ARP_TERM[i].TTL=100;
					return(0);
				}
			}
			//查找有否空的MAC表項
			for(i=0;i<MAX_ARP_TERM;i++)
			{
				if(NetPort[num].ARP_TERM[i].TTL==0)
				{//有則保存
					NetPort[num].ARP_TERM[i].IP_NUM[0]=((arp*)ARP_REC_PTR)->SourceIp[0];
					NetPort[num].ARP_TERM[i].IP_NUM[1]=((arp*)ARP_REC_PTR)->SourceIp[1];
					NetPort[num].ARP_TERM[i].IP_NUM[2]=((arp*)ARP_REC_PTR)->SourceIp[2];
					NetPort[num].ARP_TERM[i].IP_NUM[3]=((arp*)ARP_REC_PTR)->SourceIp[3];
					NetPort[num].ARP_TERM[i].MAC_NUM[0]=((arp*)ARP_REC_PTR)->SourceMacId[0];
					NetPort[num].ARP_TERM[i].MAC_NUM[1]=((arp*)ARP_REC_PTR)->SourceMacId[1];
					NetPort[num].ARP_TERM[i].MAC_NUM[2]=((arp*)ARP_REC_PTR)->SourceMacId[2];
					NetPort[num].ARP_TERM[i].MAC_NUM[3]=((arp*)ARP_REC_PTR)->SourceMacId[3];
					NetPort[num].ARP_TERM[i].MAC_NUM[4]=((arp*)ARP_REC_PTR)->SourceMacId[4];
					NetPort[num].ARP_TERM[i].MAC_NUM[5]=((arp*)ARP_REC_PTR)->SourceMacId[5];
					NetPort[num].ARP_TERM[i].TTL=100;
					return(2);
				}
			}//FOR
			//MAC表已經滿
			return(4);
		}//IF ARP
		//不屬于同一網段的
		return (3);
   	}
	//目標IP不是本機
	return (1);
}
uint8 REC_ARP_REQ(uint8 * ARP_REC_REQ_PTR,uint8 num)  
{
uint8 i;
//======================================================================
if(((arp*)ARP_REC_REQ_PTR)->SourceIp[0]==NetPort[num].My_Gateway[0])
if(((arp*)ARP_REC_REQ_PTR)->SourceIp[1]==NetPort[num].My_Gateway[1])
if(((arp*)ARP_REC_REQ_PTR)->SourceIp[2]==NetPort[num].My_Gateway[2])
if(((arp*)ARP_REC_REQ_PTR)->SourceIp[3]==NetPort[num].My_Gateway[3])
	{  				//表示是網關對ARP請求的回答.
   	for (i=0;i<6;i++)
		{
		NetPort[num].My_Gateway_Mac[i]=((arp*)ARP_REC_REQ_PTR)->SourceMacId[i];
		}
   	NetPort[num].Gateway_IP_TTL=100;	//表示網關地址已得到解析
	//return(3);
	}
	//如果發送方屬于本網段
if((((arp*)ARP_REC_REQ_PTR)->SourceIp[0]&NetPort[num].My_Ip_Mark[0])==(NetPort[num].My_Ip[0]&NetPort[num].My_Ip_Mark[0]))
if((((arp*)ARP_REC_REQ_PTR)->SourceIp[1]&NetPort[num].My_Ip_Mark[1])==(NetPort[num].My_Ip[1]&NetPort[num].My_Ip_Mark[1]))
if((((arp*)ARP_REC_REQ_PTR)->SourceIp[2]&NetPort[num].My_Ip_Mark[2])==(NetPort[num].My_Ip[2]&NetPort[num].My_Ip_Mark[2]))
if((((arp*)ARP_REC_REQ_PTR)->SourceIp[3]&NetPort[num].My_Ip_Mark[3])==(NetPort[num].My_Ip[3]&NetPort[num].My_Ip_Mark[3]))
{//查找有否屬于該IP的對應MAC表
	for(i=0;i<MAX_ARP_TERM;i++)
	{
		if(NetPort[num].ARP_TERM[i].IP_NUM[2]==((arp*)ARP_REC_REQ_PTR)->SourceIp[2])
		if(NetPort[num].ARP_TERM[i].IP_NUM[3]==((arp*)ARP_REC_REQ_PTR)->SourceIp[3])
		if(NetPort[num].ARP_TERM[i].TTL>0)
		{//有則刷新
			NetPort[num].ARP_TERM[i].TTL=100;
			return(0);
		}
	}
	//查找有否空的MAC表項
	for(i=0;i<MAX_ARP_TERM;i++)
	{
		if(NetPort[num].ARP_TERM[i].TTL==0)
		{//有則保存
			NetPort[num].ARP_TERM[i].IP_NUM[0]=((arp*)ARP_REC_REQ_PTR)->SourceIp[0];
			NetPort[num].ARP_TERM[i].IP_NUM[1]=((arp*)ARP_REC_REQ_PTR)->SourceIp[1];
			NetPort[num].ARP_TERM[i].IP_NUM[2]=((arp*)ARP_REC_REQ_PTR)->SourceIp[2];
			NetPort[num].ARP_TERM[i].IP_NUM[3]=((arp*)ARP_REC_REQ_PTR)->SourceIp[3];
			NetPort[num].ARP_TERM[i].MAC_NUM[0]=((arp*)ARP_REC_REQ_PTR)->SourceMacId[0];
			NetPort[num].ARP_TERM[i].MAC_NUM[1]=((arp*)ARP_REC_REQ_PTR)->SourceMacId[1];
			NetPort[num].ARP_TERM[i].MAC_NUM[2]=((arp*)ARP_REC_REQ_PTR)->SourceMacId[2];
			NetPort[num].ARP_TERM[i].MAC_NUM[3]=((arp*)ARP_REC_REQ_PTR)->SourceMacId[3];
			NetPort[num].ARP_TERM[i].MAC_NUM[4]=((arp*)ARP_REC_REQ_PTR)->SourceMacId[4];
			NetPort[num].ARP_TERM[i].MAC_NUM[5]=((arp*)ARP_REC_REQ_PTR)->SourceMacId[5];
			NetPort[num].ARP_TERM[i].TTL=100;
			return(2);
		}
	}
	//MAC表已經滿
	return(4);
}
//對方IP即不是本網段也不是GATEWAY
return(1);
}
//===========================================================================
//=======================================================================
/**********************************************************************
**函數原型:    void PROCESS_ARP_REC(unsigned char EX_RAM * ARP_PTR)
**入口參數:		* ARP_PTR	:接收到的ARP包的指針
**出口參數:		無
**返 回 值:	無
**說    明:	對ARP包進行分類處理
************************************************************************/
void PROCESS_ARP_REC(uint8 * ARP_PTR,uint8 num)  
{
//	EX_RAM PKST ARP_PACKED;
#ifdef Big_End
if(((arp*)ARP_PTR)->Operation==0X0001)
#endif
#ifdef Little_End
if(((arp*)ARP_PTR)->Operation==0X0100)
#endif
	{
		Arp_Answer(ARP_PTR,num);
	}
#ifdef Big_End
else if(((arp*)ARP_PTR)->Operation==0X0002)
#endif
#ifdef Little_End
else if(((arp*)ARP_PTR)->Operation==0X0200)
#endif
	{
		REC_ARP_REQ(ARP_PTR,num);
	}
	//可添加REARP操作。

}
/**********************************************************************
**函數原型:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
视频一区中文字幕国产| 久久久久久久久99精品| 国产乱子伦一区二区三区国色天香| 国产精品国产自产拍高清av| 精品国产一区二区三区久久久蜜月 | 精品动漫一区二区三区在线观看| 91视频在线看| av电影在线观看一区| 成人激情开心网| 成人av在线影院| 99久久亚洲一区二区三区青草| 国产酒店精品激情| 成人黄页毛片网站| 成人精品在线视频观看| av一区二区久久| 欧美影视一区在线| 欧美一级高清片| 日韩免费视频一区| 国产偷国产偷亚洲高清人白洁| 国产视频一区在线观看| 国产精品进线69影院| 亚洲日本一区二区| 亚洲bdsm女犯bdsm网站| 美女在线视频一区| 国产91精品精华液一区二区三区| 成人在线一区二区三区| 欧美亚洲一区三区| 欧美va亚洲va香蕉在线| 中文字幕免费不卡在线| 亚洲欧美日韩久久| 理论片日本一区| 不卡av电影在线播放| 欧美视频中文一区二区三区在线观看| 欧美军同video69gay| 国产偷国产偷精品高清尤物| 最新热久久免费视频| 日韩电影免费在线看| 成人综合婷婷国产精品久久蜜臀 | 欧美疯狂做受xxxx富婆| 制服.丝袜.亚洲.中文.综合| 久久影音资源网| 亚洲色欲色欲www| 日韩1区2区3区| 成人免费视频视频| 日韩欧美中文字幕公布| 欧美韩日一区二区三区四区| 亚洲高清三级视频| 国产精品99久久不卡二区| 欧美手机在线视频| 中文字幕一区三区| 久久国产视频网| 久久久五月婷婷| 一二三四社区欧美黄| 国产aⅴ综合色| 538在线一区二区精品国产| 中文字幕欧美一| 国产精品1024| 欧美精品一区二区三区一线天视频| 亚洲欧美日韩中文字幕一区二区三区| 国产在线视视频有精品| 欧美日韩精品免费观看视频| 综合久久综合久久| 成人美女在线视频| 久久久亚洲午夜电影| 免费观看在线综合| 欧美三日本三级三级在线播放| 中文字幕一区二区三区不卡| 国产老妇另类xxxxx| 精品国产自在久精品国产| 青青草原综合久久大伊人精品优势| 欧美在线观看你懂的| 亚洲精品日韩一| 日本韩国视频一区二区| 亚洲免费观看高清完整版在线观看| 高清成人免费视频| 中文字幕第一区二区| 粉嫩一区二区三区在线看| 日本一区二区视频在线| 成人免费看视频| 国产精品久久久久久久久免费丝袜 | 亚洲国产另类av| 日本二三区不卡| 亚洲成人久久影院| 欧美日韩国产一级| 日本午夜一区二区| 精品国产一区二区三区久久久蜜月 | 日本不卡的三区四区五区| 欧美精品久久99久久在免费线 | 亚洲免费av高清| 日本黄色一区二区| 午夜视频在线观看一区| 在线综合+亚洲+欧美中文字幕| 日本成人中文字幕| 久久网站热最新地址| 国产高清无密码一区二区三区| 国产精品毛片久久久久久久| 99热99精品| 婷婷一区二区三区| www国产成人| 91视频免费播放| 免费在线观看成人| 久久精品一区二区| 日本久久精品电影| 久久99精品久久只有精品| 欧美国产亚洲另类动漫| 在线视频观看一区| 精品一区二区在线播放| 日韩一区中文字幕| 337p亚洲精品色噜噜狠狠| 国产成人av自拍| 亚洲综合在线视频| 国产亚洲女人久久久久毛片| 91偷拍与自偷拍精品| 日韩精彩视频在线观看| 国产日本欧美一区二区| 欧美日韩视频在线一区二区| 国产麻豆精品95视频| 亚洲成av人片一区二区梦乃| 久久久高清一区二区三区| 欧美视频一区二区三区四区| 国产成人在线视频网站| 偷拍日韩校园综合在线| 国产精品无人区| 欧美一区二区网站| 91亚洲精品久久久蜜桃| 韩国女主播成人在线| 午夜精品一区二区三区电影天堂 | 91精品蜜臀在线一区尤物| 成人av手机在线观看| 久久精品久久久精品美女| 亚洲综合丁香婷婷六月香| 久久精品在线免费观看| 日韩午夜中文字幕| 欧美日韩国产首页| 色婷婷久久综合| 成人app网站| 91精品国产91久久久久久一区二区| 国产成人综合在线| 激情综合五月天| 麻豆视频观看网址久久| 午夜免费欧美电影| 午夜a成v人精品| 亚洲成年人影院| 亚洲国产色一区| 一区二区三区欧美亚洲| 亚洲精品成人a在线观看| 国产欧美一区二区在线| 久久这里只有精品首页| 精品免费国产一区二区三区四区| 欧美日韩一二区| 欧美人与性动xxxx| 欧美精品日韩综合在线| 欧美日韩三级一区| 宅男在线国产精品| 欧美电影精品一区二区| 精品粉嫩超白一线天av| 国产亚洲欧美色| 欧美国产综合色视频| 日韩一区欧美小说| 一区二区三区精品久久久| 亚洲综合成人在线| 蜜臀av国产精品久久久久| 久久国产精品99久久人人澡| 精久久久久久久久久久| 国产精品自拍一区| 99re66热这里只有精品3直播 | 日韩精品欧美精品| 免费观看一级欧美片| 国内精品免费在线观看| 福利一区二区在线观看| 风流少妇一区二区| 99re6这里只有精品视频在线观看| 91亚洲精品乱码久久久久久蜜桃| 色呦呦日韩精品| 这里只有精品视频在线观看| 欧美精品一区二区在线观看| 国产精品久久久久久久久久久免费看| 中文字幕一区免费在线观看| 亚洲国产日韩精品| 国产最新精品精品你懂的| av中文字幕不卡| 欧美丰满少妇xxxxx高潮对白 | 成人av在线一区二区三区| 91麻豆精品秘密| 欧美一区二区三区色| 欧美韩日一区二区三区| 午夜精品久久久久久久久| 国产在线不卡一区| 色综合久久中文综合久久牛| 在线不卡的av| 中文字幕欧美区| 亚洲大片一区二区三区| 国产一区二区精品久久91| 91老师国产黑色丝袜在线| 91精品国产综合久久精品性色| 久久久综合网站| 五月天欧美精品| 91在线视频观看| 精品国产精品网麻豆系列| 伊人开心综合网|