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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? tcpip.h

?? 將tcp/ip應(yīng)用在mcu上
?? H
?? 第 1 頁 / 共 2 頁
字號:
///
 // Copyright (c) 2003, Wolver Wang, MinShan Inc. R&D Center
 // wolver@minshan-inc.com
 // All rights reserved. 
 //
 // Redistribution and use in source and binary forms, with or without 
 // modification, are permitted provided that the following conditions 
 // are met: 
 // 1. Redistributions of source code must retain the above copyright 
 //    notice, this list of conditions and the following disclaimer. 
 // 2. Redistributions in binary form must reproduce the above copyright 
 //    notice, this list of conditions and the following disclaimer in the 
 //    documentation and/or other materials provided with the distribution. 
 // 3. All advertising materials mentioning features or use of this software
 //    must display the following acknowledgement:
 //      This product includes software developed by Wolver Wang.
 // 4. The name of the author may not be used to endorse or promote
 //    products derived from this software without specific prior
 //    written permission.  
 //
 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
 // OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 // ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 // GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
 ///
 

///
 // Copyright (c) 2003, Wolver Wang, MinShan Inc. R&D Center
 // wolver@minshan-inc.com
 // All rights reserved. 
 //
 // Redistribution and use in source and binary forms, with or without 
 // modification, are permitted provided that the following conditions 
 // are met: 
 // 1. Redistributions of source code must retain the above copyright 
 //    notice, this list of conditions and the following disclaimer. 
 // 2. Redistributions in binary form must reproduce the above copyright 
 //    notice, this list of conditions and the following disclaimer in the 
 //    documentation and/or other materials provided with the distribution. 
 // 3. All advertising materials mentioning features or use of this software
 //    must display the following acknowledgement:
 //      This product includes software developed by Wolver Wang.
 // 4. The name of the author may not be used to endorse or promote
 //    products derived from this software without specific prior
 //    written permission.  
 //
 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
 // OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 // ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 // GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
 ///
 

///
 // 版權(quán) 2003, 王衛(wèi)無,四川綿陽岷山集團有限公司--研究開發(fā)中心
 // wolver@minshan-inc.com
 // 保留一切權(quán)利
 //
 // 如果符合以下條件,則無論是以原代碼或非原代碼代碼形式,且不論是否修改,
 // 再分發(fā)和使用本軟件都是被允許的。
 // 1. 原代碼的再分發(fā)必須保留上述的版權(quán)聲明、本條件說明和以下免責(zé)聲明。
 // 2. 非原代碼形式的再分發(fā),必須在證明文件和(或)其它一同提供的材料中重新
 //    作上述的版權(quán)聲明、本條件說明和以下免責(zé)聲明。
 // 3. 一切提及本軟件和使用的廣告材料必須顯示以下致謝:
 //    本產(chǎn)品包含王衛(wèi)無(四川綿陽岷山集團有限公司--研究開發(fā)中心)開發(fā)的軟件。
 // 4. 如果沒有預(yù)先得到特定的書面許可,不能用作者的名字來宣傳推廣基于本軟件得到
 //    的產(chǎn)品。
 //
 // 免責(zé)聲明:
 // 本軟件是由某某作者提供,如果出現(xiàn)以下情況,作者都不承擔(dān)任何責(zé)任。
 // 1. 因作者的說明以及任何明確的或暗示的保證(包括但不限于表達某種商業(yè)性和適合某一
 //    特定目的暗示性保證)而產(chǎn)生的損失。
 // 2. 無論在何種情況下,對使用本軟件造成的任何直接的、間接的、偶然的、特定的、可預(yù)
 //    見性的和連帶產(chǎn)生的損失(包括但不限于獲取產(chǎn)品和服務(wù)、作用喪失、數(shù)據(jù)遺失、利益損
 //    失或商業(yè)干預(yù)),無論這些損失是怎樣造成的,并且是以何種方式闡釋責(zé)任。
 // 3. 任何因使用本軟件而相關(guān)的合同、嚴格賠償責(zé)任和侵權(quán)行為(包含:疏忽或其它)的損失,
 //    甚至即便是可能的此類已經(jīng)明示或暗示的損失。
 ///

// 所有這些定義適用于vIP4版本的TCP/IP協(xié)議

#ifndef	__TCPIP_H__
#define	__TCPIP_H__

#include "system.h"
#include "drivers.h"


// 定義前綴 -----------------------------------------------------------------------------------
// c  <-> Constant
// g  <-> Global
// uw <-> Unsigned Word
// p  <-> Point
// st <-> Struct
// pt <-> Point of Struct


// 定義TCP/IP模式 ------------------------------------------------------------------------------
#define TCP_DHCP			0		// 沒有DHCP協(xié)議

// 系統(tǒng)工作于服務(wù)模式。定義為:0
// 允許TCP/IP主動激活(客戶模式)。定義為:1
// 服務(wù)模式和客戶模式同時存在。定義為:1
#define TCP_ACTIVE_OPEN		1


// 預(yù)置本機IP地址。例如: IP = 192.168.0.30 ------------------------------------------------------
#if TCP_DHCP == 0
#define cIpAddr1	192	// Byte Length
#define cIpAddr2	168	// Byte Length
#define cIpAddr3	0	// Byte Length
#define cIpAddr4	60	// Byte Length
extern const UINT16 guwIpAddr[2];
#else
extern UINT16 guwIpAddr[2];
#endif

// 預(yù)置本機IP的掩碼。例如: NETMASK = 255.255.255.0 -----------------------------------------------
#if TCP_DHCP == 0
#define cNetMask1	255	// Byte Length
#define cNetMask2	255	// Byte Length
#define cNetMask3	255	// Byte Length
#define cNetMask4	0	// Byte Length
extern const UINT16 guwNetMask[2];
#else
extern UINT16 guwNetMask[2];
#endif

// 預(yù)置本機的網(wǎng)關(guān)。例如: GateWay = 192.168.0.1 ---------------------------------------------------
#if TCP_DHCP == 0
#define cDR_IpAddr1	192	// Byte Length
#define cDR_IpAddr2	168	// Byte Length
#define cDR_IpAddr3	0	// Byte Length
#define cDR_IpAddr4	1	// Byte Length
extern const UINT16 guwDR_IpAddr[2];
#else
extern UINT16 guwDR_IpAddr[2];
#endif

// 預(yù)置本機的以太物理地址。例如: MAC = 52H-54H-ABH-1D-A4-F9H ------------------------------------
#define cEthAddr1	0x52	// Byte Length
#define cEthAddr2	0x54	// Byte Length
#define cEthAddr3	0xab	// Byte Length
#define cEthAddr4	0x1d	// Byte Length
#define cEthAddr5	0xa4	// Byte Length
#define cEthAddr6	0xfa	// Byte Length
extern const UINT16 guwEthAddr[3];


//---------------------------------------------------------------------------------

// 定義TCP應(yīng)用數(shù)據(jù)長度最大緩沖區(qū),單位:字(Word)
#define cTcpDataSize		(1460/2)

//---------------------------------------------------------------------------------

// 定義TCP/IP協(xié)議的相關(guān)結(jié)構(gòu)長度,單位:字(Word),參考結(jié)構(gòu)定義
#define cEthHdrLen		7		// 以太頭結(jié)構(gòu)長度
#define cArpHdrLen		14		// ARP頭結(jié)構(gòu)長度
#define cIpHdrLen		10		// IP頭結(jié)構(gòu)長度(不含擴展選項)
#define cIcmpHdrLen		4		// ICMP中Ping協(xié)議頭結(jié)構(gòu)長度
#define cTcpHdrLen		10		// TCP頭結(jié)構(gòu)長度(不含擴展選項)

//---------------------------------------------------------------------------------

// 以太頭結(jié)構(gòu)
typedef struct{
	UINT16 DestEthAddr[3];
	UINT16 SrcEthAddr[3];
	UINT16 EthType;
// 以太頭的包類型。EthHdr_Stru.EthType
#define cEthType_Arp	0x0806	// ARP Packet
#define cEthType_Ip		0x0800	// IP Packet
}EthHdr_Stru;

// 最大允許的以太包長度,單位:字(Word)
#define cEthBufSize		(cEthHdrLen + cIpHdrLen + cTcpHdrLen + cTcpDataSize)

// 分配允許的以太包處理緩沖區(qū),單位:字(Word)
extern UINT16 guwEthBuf[cEthBufSize];

// 以太頭的常數(shù)指針。
#define cpEthHdrBuf		((UINT16 *)&guwEthBuf[0])		// 指向Word的buffer
#define cptEthHdrBuf	((EthHdr_Stru *)&guwEthBuf[0])	// 指向結(jié)構(gòu)

//---------------------------------------------------------------------------------

// ARP頭結(jié)構(gòu)
typedef struct{
	UINT16 HwType;
// ARP包硬件類型。 ArpHdr_Stru.HwType
#define cHwType_Eth		0x01		// 以太模式
	UINT16 ProtoType;
// #define cEthType_Ip		0x0800	// IP Packet
	UINT16 Hw8Proto8;
// ARP協(xié)議類型 ArpHdr_Stru.Hw8Proto8
#define c_vIP4			0x0604		// vIP4
	UINT16 OpCode;
// ARP操作類型 ArpHdr_Stru.OpCode
#define cArpRequest		0x01		// ARP請求
#define cArpReply		0x02		// ARP回應(yīng)
	UINT16 SndEthAddr[3];
	UINT16 SndIpAddr[2];
	UINT16 RcvEthAddr[3];
	UINT16 RcvIpAddr[2];
}ArpHdr_Stru;

// ARP頭的常數(shù)指針。
#define cptArpHdrBuf	((ArpHdr_Stru *)&guwEthBuf[cEthHdrLen])				// 指向結(jié)構(gòu)

//---------------------------------------------------------------------------------

// IP頭結(jié)構(gòu),不含擴展選項
typedef struct{
	UINT16 Tos:8, Vhl:8;
// IpHdr_Stru.Tos = 0x00	// 服務(wù)類型0x00允許:TCP和ICMP查詢、ICMP差錯、BOOTP
// IP頭格式 IpHdr_Stru.Vhl
#define cIP_VER_HLEN		0x45	// vIP4
	UINT16 Len;
	UINT16 IpId;
	UINT16 Offset:13, Flags:3;
// IpHdr_Stru.offset = 0
// IpHdr_Stru.Flags 分片幀
#define cIP_DF	0x2		// 不分片幀(Do not Fragment)
#define cIP_MF	0x1		// 非最后幀,分片幀(More Fragment)
	UINT16 Proto:8, Ttl:8;
// IP頭的存活時間與協(xié)議類型 IpHdr_Stru.Proto
#define cIP_PROTO_ICMP		0x01	// IP屬于ICMP類
#define cIP_PROTO_TCP		0x06	// IP屬于TCP類
// IP頭的存活時間與協(xié)議類型 IpHdr_Stru.Ttl
#define cIP_TTL				0xff	// 存活時間
	UINT16 IpChkSum;
	UINT16 SrcIpAddr[2];
	UINT16 DestIpAddr[2];
}IpHdr_Stru;

// IP頭的常數(shù)指針。
#define cpIpHdrBuf		((UINT16 *)&guwEthBuf[cEthHdrLen])		// 指向Word的buffer
#define cptIpHdrBuf		((IpHdr_Stru *)&guwEthBuf[cEthHdrLen])	// 指向結(jié)構(gòu)

// 記錄本地IP序號
extern volatile UINT16 guwIpId;

//---------------------------------------------------------------------------------

// ICMP頭結(jié)構(gòu),不含擴展選項
typedef struct{
	UINT16 Code:8, Type:8;
// IcmpHdr_Stru.Code = 0x00 only for PING relpy!
// ICMP操作類型 IcmpHdr_Stru.Type
#define cICMP_ECHO_REPLY	0x00	// ICMP回應(yīng)
#define cICMP_ECHO			0x08	// ICMP呼叫
	UINT16 ChkSum;
	UINT16 Id;
	UINT16 SeqNum;
}IcmpHdr_Stru;

// ICMP頭的常數(shù)指針。
#define cpIcmpHdrBuf	((UINT16 *)&guwEthBuf[cEthHdrLen + cIpHdrLen])			// 指向Word的buffer
#define cptIcmpHdrBuf	((IcmpHdr_Stru *)&guwEthBuf[cEthHdrLen + cIpHdrLen])	// 指向結(jié)構(gòu)

//---------------------------------------------------------------------------------

// TCP頭結(jié)構(gòu),不含擴展選項
typedef struct{
	UINT16 SrcPort;					// 本地端口
	UINT16 DestPort;				// 遠端端口
	UINT16 SeqNum[2];				// 本地32位序號
	UINT16 AckNum[2];				// 遠端期待的32位序號
	UINT16 Flags:6, Reserve:6, HdrLen:4;
// TCP保留 TcpHdr_Stru.Reserve = 0

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美久久久精品影院| 亚洲第一激情av| 亚洲一区精品在线| 国产高清精品在线| 欧美性色综合网| 久久精品欧美一区二区三区麻豆| 亚洲欧美另类在线| 国产成人精品www牛牛影视| 欧美精选一区二区| 亚洲欧洲日韩女同| 国产大片一区二区| 日韩一级免费一区| 亚洲一区二区三区激情| 成人黄色大片在线观看| 精品国产免费人成在线观看| 亚洲无线码一区二区三区| 成人av在线观| 久久久精品国产免费观看同学| 亚洲国产精品久久人人爱蜜臀| 99久久久精品| 国产精品久线在线观看| 国产精品一区在线观看乱码| 欧美一三区三区四区免费在线看| 亚洲一区国产视频| 色94色欧美sute亚洲13| 亚洲图片你懂的| 成人97人人超碰人人99| 久久久一区二区三区捆绑**| 蜜桃免费网站一区二区三区 | 亚洲最新视频在线观看| 国产成人午夜99999| 精品乱人伦小说| 久久精品理论片| 欧美不卡一区二区| 精品一区二区在线播放| 精品88久久久久88久久久| 国产在线精品不卡| 国产欧美视频一区二区| 成人免费视频视频在线观看免费| 久久精品在这里| 成人白浆超碰人人人人| 亚洲欧洲制服丝袜| 色综合av在线| 婷婷国产v国产偷v亚洲高清| 欧美电影一区二区三区| 日韩不卡免费视频| 欧美精品一区二区久久婷婷| 精品一区二区三区影院在线午夜| 精品少妇一区二区三区| 国产黑丝在线一区二区三区| 国产精品乱人伦| 色哟哟在线观看一区二区三区| 夜夜精品浪潮av一区二区三区| 欧美亚洲免费在线一区| 免费一级片91| 国产情人综合久久777777| 色综合色综合色综合| 亚洲第一主播视频| 精品少妇一区二区三区在线播放| 国产成人三级在线观看| 亚洲男女毛片无遮挡| 91麻豆精品国产| 国产精品一区二区在线观看网站 | 欧美美女一区二区| 裸体一区二区三区| 国产精品美女久久久久av爽李琼| 色吊一区二区三区| 麻豆freexxxx性91精品| 国产精品系列在线| 欧美日韩激情一区二区| 国产精品99久久久久久似苏梦涵 | 国产日韩欧美电影| 色婷婷久久久亚洲一区二区三区| 午夜精品久久久久久久久久久 | 欧美一级夜夜爽| 国产成人精品免费| 日韩影视精彩在线| 国产精品欧美一区喷水| 欧美日本乱大交xxxxx| 国产丶欧美丶日本不卡视频| 亚洲成人动漫一区| 一色桃子久久精品亚洲| 日韩欧美一区在线观看| 日本精品一区二区三区高清| 国产大陆亚洲精品国产| 日本在线播放一区二区三区| 亚洲欧美影音先锋| 久久日韩精品一区二区五区| 欧美性大战久久久久久久蜜臀| 激情综合一区二区三区| 亚洲h在线观看| 国产精品理论片在线观看| 欧美大度的电影原声| 91成人国产精品| 97se亚洲国产综合自在线不卡 | 精品少妇一区二区三区免费观看| 欧美三级电影一区| 91在线一区二区三区| 国产不卡在线播放| 精品亚洲aⅴ乱码一区二区三区| 亚洲一区成人在线| 亚洲日本护士毛茸茸| 中文无字幕一区二区三区| 精品欧美一区二区三区精品久久| 欧美亚洲动漫精品| 色视频一区二区| 99国产精品久久| 99精品桃花视频在线观看| 国产精品一区二区三区网站| 蜜臀av性久久久久av蜜臀妖精| 午夜电影一区二区三区| 一区二区三区在线视频免费观看| 亚洲欧洲成人精品av97| 国产精品剧情在线亚洲| 国产精品国产三级国产有无不卡| 国产午夜精品一区二区三区嫩草| 精品美女被调教视频大全网站| 91精品国产高清一区二区三区| 在线电影欧美成精品| 欧美精品久久天天躁| 538在线一区二区精品国产| 欧美精品123区| 在线成人午夜影院| 欧美一级理论片| 精品成人a区在线观看| 精品福利在线导航| 国产肉丝袜一区二区| 国产精品全国免费观看高清| 国产精品免费免费| 亚洲乱码中文字幕综合| 香蕉加勒比综合久久| 日韩1区2区3区| 国产精品一区在线观看乱码 | 国精产品一区一区三区mba桃花| 精品亚洲成a人| 成人精品小蝌蚪| 色香蕉久久蜜桃| 欧美一区二区在线免费播放| 精品美女一区二区| 国产精品国产三级国产aⅴ入口| 国产精品盗摄一区二区三区| 亚洲精品国产视频| 亚洲成人在线网站| 激情成人午夜视频| 91麻豆国产在线观看| 在线不卡a资源高清| 久久综合狠狠综合久久综合88| 国产精品伦一区二区三级视频| 亚洲狠狠丁香婷婷综合久久久| 亚洲国产精品嫩草影院| 精品在线一区二区| 91网址在线看| 欧美一激情一区二区三区| 国产精品嫩草影院av蜜臀| 亚洲第一福利视频在线| 久久99精品国产| 91视频观看视频| 精品日韩欧美一区二区| 一区二区三区在线免费| 久久精品国产成人一区二区三区| 成人教育av在线| 91精品国产综合久久小美女| 国产欧美一区二区精品久导航| 午夜精品一区二区三区电影天堂| 国产高清成人在线| 4438x成人网最大色成网站| 国产精品久久久久久福利一牛影视 | 亚洲三级免费观看| 精品一区二区三区久久| 欧美色大人视频| 国产精品三级电影| 久久精品国产99| 欧美视频一区二区三区在线观看| 国产欧美一区二区三区沐欲| 日韩黄色小视频| 91猫先生在线| 中文天堂在线一区| 精品一区二区成人精品| 欧美另类videos死尸| 国产精品免费人成网站| 激情五月激情综合网| 欧美偷拍一区二区| 综合久久给合久久狠狠狠97色| 精品亚洲国内自在自线福利| 在线播放/欧美激情| 亚洲美女淫视频| 99久久婷婷国产综合精品| 精品国产一区二区三区四区四| 午夜日韩在线电影| 欧美日韩一区二区三区视频| 亚洲品质自拍视频| 91视频.com| 有码一区二区三区| 在线免费视频一区二区| 亚洲日本中文字幕区| av成人老司机| 一区在线播放视频| 99久久精品国产一区二区三区| 中文字幕乱码久久午夜不卡| 国产一区二区成人久久免费影院|