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

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

?? arp.c

?? arm 2410的 tcp udp arp 的實現源代碼 已經調通
?? C
字號:
#include "GloblDef.h"
#include "MMenage.h"
#include "RTL8019.h"
#include "NetIntef.h"
#include "timer.h"
#include "ARP.h"

extern void MemCopy(BYTE xdata * to,BYTE xdata * from,WORD size);
extern BYTE MemAllocation(WORD size);
extern BYTE xdata * MemPageToPoint(BYTE page);
extern void FreePage(BYTE page);
extern void NetInFillMacHead(struct MACHeader xdata * pMACHead,WORD protocal,BYTE xdata *dest);
extern BYTE RTLSendPacket(BYTE xdata * buffer,WORD size);

extern DWORD xdata ServerIPAddress;
extern DWORD xdata LocalIPAddress;
extern BYTE xdata UnknownMACAddr[];
extern BYTE xdata BroadcastMACAddr[];
extern BYTE xdata LocalMACAddr[];

struct s_IPToPhisical xdata IPToPhisical;	       /* ARP表 */
struct s_timer xdata ARPTimer;					/* ARP時鐘*/
BYTE ARPRetrasmitTime;								/* ARP需要重傳的時間*/

void ARPInitial()
{
	IPToPhisical.IP = ServerIPAddress;
	IPToPhisical.state = ARP_STATE_NOT_FOUND;

												/* 初始化ARP時鐘*/
	ARPTimer.enable = FALSE;
	ARPRetrasmitTime = 0;
}

												/* 發送一個ARP請求 */
void ARP_SendRequest(DWORD destIP)
{
	BYTE page;
	struct MACHeader xdata *pMACHead;
	struct ARPHeader xdata *pARPHead;
	struct ARPContent xdata *pARPContent;
	
													/* 分配內存空間 */
	page = MemAllocation(MIN_PACKET_SIZE);
	if(page == PAGE_NOT_FOUND)
		return;

	IPToPhisical.IP = destIP;
	IPToPhisical.state = ARP_STATE_ALREADY_SEND;

	pMACHead = (struct MACHeader xdata *)(MemPageToPoint(page) + sizeof(struct MemHeader));
	pARPHead = (struct ARPHeader xdata *)((BYTE xdata *)pMACHead + sizeof(struct MACHeader));
	pARPContent =(struct ARPContent xdata *)((BYTE xdata *)pARPHead + sizeof(struct ARPHeader));

														/* 填寫ARP頭 */
	pARPHead->HardWareAddrLen = ETHERNET_ADDR_LEN;
	pARPHead->HardwareType = ARP_HARDWARE_TYPE_ETHERNET;
	pARPHead->ProtocolAddrLen = IP_ADDR_LEN;
	pARPHead->ProtocolType = ARP_PROTOCOL_TYPE_IP;
	pARPHead->type = ARP_TYPE_ARP_REQUEST;

													/* 填充ARP內容 */
	pARPContent->DestinationIP = destIP;
	MemCopy(pARPContent->DestMACAddr,UnknownMACAddr,ETHERNET_ADDR_LEN);
	pARPContent->SourceIP = LocalIPAddress;
	MemCopy(pARPContent->SourceMACAddr,LocalMACAddr,ETHERNET_ADDR_LEN);

													/*填充MAC頭*/
	NetInFillMacHead(pMACHead,NET_PACKET_TYPE_ARP,BroadcastMACAddr);
	
												/* ARP包小于MIN_PACKET_SIZE */
	RTLSendPacket((BYTE xdata *)pMACHead,
		MIN_PACKET_SIZE);
													/* 釋放 */
	FreePage(page);
													/* 設置時鐘*/
	ARPTimer.enable = TRUE;
	ARPTimer.value = ARP_REQUEST_TIME_OUT;
}
													/* 處理ARP */
void ARPIn(BYTE page)
{
	struct MACHeader xdata *pMACHead;
	struct ARPHeader xdata *pARPHead;
	struct ARPContent xdata *pARPContent;

	pMACHead = (struct MACHeader xdata *)(MemPageToPoint(page) + sizeof(struct MemHeader));
	pARPHead = (struct ARPHeader xdata *)((BYTE xdata *)pMACHead + sizeof(struct MACHeader));
	pARPContent =(struct ARPContent xdata *)((BYTE xdata *)pARPHead + sizeof(struct ARPHeader));
	
														/* ARP請求 */
	if(pARPHead->type == ARP_TYPE_ARP_REQUEST )
	{
														/* 本地ARP請求*/
		if(pARPContent->DestinationIP == LocalIPAddress)
		{
														/* 發送ARP應答*/
														/* 源端到目的端的復制 */
	MemCopy(pARPContent->DestMACAddr,pARPContent->SourceMACAddr,(IP_ADDR_LEN + ETHERNET_ADDR_LEN));

														/*填寫源內容 */
			pARPContent->SourceIP = LocalIPAddress;
			MemCopy(pARPContent->SourceMACAddr,LocalMACAddr,ETHERNET_ADDR_LEN);

														/* ARP類型 */
			pARPHead->type = ARP_TYPE_ARP_REPLY;

														/*MAC頭 */
			NetInFillMacHead(pMACHead,NET_PACKET_TYPE_ARP,pARPContent->DestMACAddr);

											/* 發送包 , ARP包小于min_packet_size*/
			RTLSendPacket((BYTE xdata *)pMACHead,MIN_PACKET_SIZE);
		}
												/* 否則指向其它地址 */
	}
	else
	{
														/* ARP應答 */
		if(pARPHead->type == ARP_TYPE_ARP_REPLY)
		{
														/* 應答前一ARP請求 */
			if(pARPContent->DestinationIP == LocalIPAddress && pARPContent->SourceIP == IPToPhisical.IP)
			{
														/* 記錄ARP */
				IPToPhisical.state = ARP_STATE_FOUND;
				MemCopy(IPToPhisical.MACAddr,pARPContent->SourceMACAddr,ETHERNET_ADDR_LEN);
													/* 關ARP時鐘 */
				ARPTimer.enable = FALSE;
													/* 重傳時鐘置0 */
				ARPRetrasmitTime = 0;
			}
		}
	}
													/*釋放ARP */
	FreePage(page);
}
													/* 重傳當前ARP */
void ARP_Resend()
{
	ARP_SendRequest(IPToPhisical.IP);
	ARPRetrasmitTime++;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区日韩| 性做久久久久久| 精品久久久久久久久久久院品网 | 欧美少妇一区二区| 成人污污视频在线观看| 国产自产v一区二区三区c| 狠狠色丁香婷婷综合| 日韩激情视频网站| 免费亚洲电影在线| 九九九久久久精品| 国产成人午夜精品5599| 成人综合在线观看| 色综合一个色综合亚洲| 欧美色男人天堂| 欧美日韩视频不卡| 欧美成人一区二区三区| 日韩精品一区在线观看| 久久久久高清精品| 中文乱码免费一区二区| 亚洲精品国产成人久久av盗摄| 中文字幕日韩一区| 一区二区成人在线| 日韩av午夜在线观看| 国精产品一区一区三区mba桃花| 国产激情视频一区二区在线观看 | 56国语精品自产拍在线观看| 欧美一卡2卡三卡4卡5免费| 日韩精品中文字幕在线不卡尤物| 精品日产卡一卡二卡麻豆| 国产午夜精品一区二区三区四区| 中文字幕av一区 二区| 亚洲精品视频免费看| 男男视频亚洲欧美| 成人开心网精品视频| 欧美精品久久天天躁| 久久久精品天堂| 亚洲午夜久久久久| 国产乱妇无码大片在线观看| 一本大道av一区二区在线播放 | 久久99精品久久久久久| 北条麻妃国产九九精品视频| 欧美精品黑人性xxxx| 国产亚洲一区字幕| 天使萌一区二区三区免费观看| 国产一区在线观看视频| 欧洲一区在线电影| 久久精品人人做人人爽人人| 午夜久久久久久久久| 粉嫩蜜臀av国产精品网站| 欧美一区二区视频免费观看| 亚洲欧洲精品成人久久奇米网| 蜜桃视频免费观看一区| 色哟哟亚洲精品| 亚洲国产精品v| 捆绑调教一区二区三区| 欧美午夜不卡在线观看免费| 国产欧美日韩综合精品一区二区| 无码av中文一区二区三区桃花岛| a亚洲天堂av| 久久精品视频一区二区三区| 日本特黄久久久高潮| 欧美影院午夜播放| 国产精品国产三级国产专播品爱网| 蜜桃久久久久久久| 日韩一区二区在线观看视频| 一区二区三区日韩精品| 成人一区二区三区视频| 久久久久88色偷偷免费| 精品影视av免费| 精品欧美乱码久久久久久 | 国产乱色国产精品免费视频| 日韩一区二区免费在线电影| 亚洲二区在线视频| 欧美四级电影网| 一区二区三区四区蜜桃| 色综合久久久网| 亚洲精品国产一区二区三区四区在线 | 久久美女高清视频| 九九在线精品视频| 26uuu另类欧美亚洲曰本| 久99久精品视频免费观看| 日韩欧美一级精品久久| 美脚の诱脚舐め脚责91 | 国产乱国产乱300精品| 亚洲精品一区二区三区影院 | 欧美激情综合五月色丁香小说| 国产一区二区三区四区五区入口 | 国产精品久久久久影院亚瑟| 成人精品免费看| 香蕉加勒比综合久久| 在线观看日韩av先锋影音电影院| 亚洲综合在线免费观看| 欧美午夜宅男影院| 麻豆国产一区二区| 国产亚洲成年网址在线观看| 粉嫩av一区二区三区粉嫩| 综合久久给合久久狠狠狠97色 | 日韩午夜在线观看视频| 韩国理伦片一区二区三区在线播放| 2020国产精品久久精品美国| 国产不卡视频一区二区三区| 久久久久99精品国产片| 91麻豆精品秘密| 蜜臀国产一区二区三区在线播放| 久久精品人人爽人人爽| 色综合久久六月婷婷中文字幕| 丝袜诱惑制服诱惑色一区在线观看| 2020国产精品| 在线观看免费一区| 国产在线播精品第三| 中文字幕亚洲区| 欧美一三区三区四区免费在线看| 国产不卡高清在线观看视频| 一区av在线播放| 日韩欧美第一区| 色婷婷综合久久久中文一区二区| 日韩精品视频网| 自拍偷拍亚洲欧美日韩| 欧美电影免费观看高清完整版在线观看 | 久久精品人人做人人爽人人| 欧美伊人久久大香线蕉综合69| 免费一级片91| 亚洲一区免费视频| 国产日产欧美精品一区二区三区| 欧美丝袜第三区| 粗大黑人巨茎大战欧美成人| 亚洲国产一区二区a毛片| 久久噜噜亚洲综合| 91麻豆精品国产91久久久使用方法 | 欧美电影免费观看高清完整版在线 | 国产精品91xxx| 亚洲成av人影院在线观看网| 国产日产欧产精品推荐色| 91精品国产综合久久精品app| 99精品国产视频| 国产剧情一区二区| 久久成人免费电影| 亚洲第一成人在线| 亚洲区小说区图片区qvod| 国产无遮挡一区二区三区毛片日本| 3d动漫精品啪啪| 欧洲av一区二区嗯嗯嗯啊| 99久久久无码国产精品| 国产乱子伦视频一区二区三区| 久久er99精品| 久久国产精品免费| 日韩和欧美的一区| 婷婷一区二区三区| 午夜电影网亚洲视频| 亚洲激情校园春色| 最新成人av在线| 亚洲欧美色图小说| 亚洲男女毛片无遮挡| 欧美激情综合网| 国产日韩欧美不卡| 中文av字幕一区| 国产精品不卡一区| 亚洲日本在线视频观看| 国产精品乱码人人做人人爱| 国产精品国产三级国产aⅴ无密码| 欧美极品少妇xxxxⅹ高跟鞋| 国产女人水真多18毛片18精品视频| 26uuu久久综合| 国产欧美一区二区三区沐欲| 中文字幕不卡在线观看| 中文字幕在线播放不卡一区| 亚洲欧美日韩中文字幕一区二区三区 | 日韩精品一区二区三区在线播放 | 久久九九99视频| 欧美国产亚洲另类动漫| 国产精品久久久久四虎| 亚洲综合激情网| 捆绑紧缚一区二区三区视频| 国产精品一级在线| 99久久er热在这里只有精品66| 在线一区二区三区做爰视频网站| 欧美三级资源在线| 精品久久久久一区二区国产| 亚洲国产精品高清| 午夜精品福利一区二区三区av| 日韩成人免费在线| 风间由美一区二区av101| 色婷婷精品大视频在线蜜桃视频| 欧美视频三区在线播放| 精品国产伦一区二区三区观看方式| 亚洲精品一线二线三线 | 日本高清不卡视频| 欧美一级xxx| 国产精品丝袜91| 天天综合色天天| 国产精品综合久久| 在线日韩一区二区| 精品欧美一区二区在线观看| 中文字幕在线视频一区| 日本欧美韩国一区三区| 成人av免费观看| 日韩午夜激情电影| 亚洲黄色免费网站| 国产精品一卡二卡在线观看| 欧美色图片你懂的|