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

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

?? arp.c

?? ARM嵌入式常用模塊的原理圖和源碼
?? 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一区二区三区免费野_久草精品视频
国产精品亚洲第一区在线暖暖韩国 | 日韩精品一区二区三区在线播放| 精品一区二区在线看| 1024成人网| 欧美色网站导航| 男男视频亚洲欧美| 欧美日韩国产123区| 国产精品白丝jk白祙喷水网站| 一卡二卡三卡日韩欧美| 欧美精品一区二区久久婷婷| 在线视频欧美精品| 成人国产一区二区三区精品| 九九视频精品免费| 舔着乳尖日韩一区| 伊人性伊人情综合网| 日本一区二区三区在线观看| 欧美刺激脚交jootjob| 欧美日韩精品一区视频| 99久久精品免费看国产免费软件| 激情六月婷婷久久| 免费高清视频精品| 亚洲制服丝袜av| 亚洲欧洲99久久| 国产精品毛片无遮挡高清| 久久久综合视频| 精品日韩在线观看| 日韩欧美国产小视频| 欧美精品自拍偷拍| 欧美三级电影在线看| 91福利国产成人精品照片| 成人免费毛片片v| 国产91丝袜在线播放| 国内外成人在线| 精品一区二区久久| 麻豆国产精品一区二区三区| 日本在线不卡视频| 肉肉av福利一精品导航| 亚洲成av人在线观看| 亚洲国产精品久久不卡毛片| 一区二区三区免费| 亚洲福利一区二区| 午夜伦欧美伦电影理论片| 亚洲国产成人精品视频| 日韩和的一区二区| 免费看精品久久片| 久久99精品国产麻豆不卡| 国产在线一区观看| 国产精品夜夜嗨| www.成人网.com| 在线观看91视频| 欧美日本在线观看| 日韩欧美视频一区| 久久精品亚洲精品国产欧美| 国产精品网站导航| 亚洲免费在线观看视频| 亚洲午夜在线电影| 麻豆国产精品官网| 成人黄色av电影| 欧洲av一区二区嗯嗯嗯啊| 欧美日韩国产一二三| 日韩欧美国产麻豆| 欧美国产综合一区二区| 17c精品麻豆一区二区免费| 亚洲国产日韩在线一区模特 | 26uuuu精品一区二区| 日本一区二区三级电影在线观看| 国产精品三级视频| 夜夜嗨av一区二区三区网页| 天堂久久久久va久久久久| 久久国产精品免费| 成人免费视频视频在线观看免费| 色偷偷88欧美精品久久久| 欧美精品少妇一区二区三区 | 亚洲精品视频自拍| 性做久久久久久免费观看 | 国产乱码精品一区二区三区五月婷| 国产成人精品免费视频网站| 一本到不卡免费一区二区| 欧美福利视频导航| 日本一区二区免费在线| 亚洲国产一区二区三区青草影视| 久久精品国产久精国产爱| 91在线播放网址| 欧美不卡在线视频| 亚洲色图欧美激情| 紧缚奴在线一区二区三区| 一本到高清视频免费精品| 精品国产乱码久久久久久图片| 国产精品黄色在线观看| 免费欧美在线视频| 91国产丝袜在线播放| 精品久久人人做人人爱| 亚洲制服丝袜av| 岛国精品一区二区| 欧美一级久久久| 一区二区高清视频在线观看| 韩国av一区二区三区四区| 欧美亚洲国产一区二区三区va| 久久久久国产精品麻豆ai换脸| 天堂av在线一区| 99国产精品国产精品久久| 精品999久久久| 五月天一区二区| 91久久久免费一区二区| 中文字幕第一页久久| 久久成人免费网| 欧美另类z0zxhd电影| 亚洲人一二三区| 成人午夜在线播放| 欧美精品一区二区三区高清aⅴ| 肉丝袜脚交视频一区二区| 在线影院国内精品| 亚洲国产精品成人综合| 国内成人自拍视频| 日韩视频在线你懂得| 亚洲成人黄色小说| 一本大道久久a久久综合婷婷| 国产欧美日韩一区二区三区在线观看| 日本成人中文字幕在线视频 | 欧美国产日韩亚洲一区| 久久国产福利国产秒拍| 制服.丝袜.亚洲.另类.中文| 亚洲成人动漫一区| 欧美丝袜丝交足nylons图片| 亚洲人成亚洲人成在线观看图片| 国产91丝袜在线18| 日本一区二区三区久久久久久久久不 | 午夜欧美2019年伦理| 欧美性感一区二区三区| 亚洲黄色尤物视频| 色爱区综合激月婷婷| 亚洲精品菠萝久久久久久久| aaa欧美色吧激情视频| 国产精品视频麻豆| 成人国产精品免费网站| 国产精品电影一区二区三区| 成人听书哪个软件好| 国产精品少妇自拍| bt欧美亚洲午夜电影天堂| 中文在线免费一区三区高中清不卡| 国产精品99久久久久久似苏梦涵| 欧美精品一区二区三区蜜臀| 国产精品夜夜爽| 中文字幕一区二区三中文字幕| www.av亚洲| 洋洋成人永久网站入口| 在线观看免费成人| 丝袜亚洲另类欧美综合| 欧美一级在线免费| 黑人巨大精品欧美一区| 国产欧美综合色| av亚洲精华国产精华精华| 亚洲三级在线观看| 欧美高清一级片在线| 久久不见久久见免费视频1| 久久综合狠狠综合久久综合88| 国产福利电影一区二区三区| 成人欧美一区二区三区1314| 欧美性猛交一区二区三区精品| 男人操女人的视频在线观看欧美| 久久蜜桃av一区二区天堂 | 欧美成人欧美edvon| 国产成人免费av在线| 亚洲精品美国一| 日韩欧美第一区| 成人手机在线视频| 五月天婷婷综合| 久久美女高清视频| 日本道色综合久久| 精品在线你懂的| 综合久久久久久久| 在线播放一区二区三区| 国产一区二区三区四区五区美女| 亚洲欧美偷拍另类a∨色屁股| 欧美美女一区二区三区| 国产精品一区在线| 亚洲国产wwwccc36天堂| 久久久国产一区二区三区四区小说| 99久免费精品视频在线观看| 日韩1区2区3区| 国产精品不卡在线| 欧美一区二区啪啪| 成人午夜视频在线观看| 日本aⅴ免费视频一区二区三区| 国产精品色在线观看| 日韩一区二区在线免费观看| 99久久免费视频.com| 美女视频黄免费的久久| 亚洲色图色小说| 国产亚洲精品中文字幕| 欧美福利视频导航| 色综合咪咪久久| 国产一区二区久久| 日韩黄色在线观看| 亚洲精品免费在线| 中文字幕av一区二区三区高| 日韩精品中文字幕一区二区三区| 色婷婷激情综合| 成人一区在线观看| 国内精品视频666|