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

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

?? tcpip.h

?? tcpip堆棧
?? H
?? 第 1 頁 / 共 2 頁
字號:
// TCP標識 TcpHdr_Stru.HdrLen 代表TCP頭長度,以32bit(4 byte)為單位
#define cTCP_HDR_NOOPT		0x05	// TCP頭無操作選項
#define cTCP_HDR_OPT		0x07	// TCP頭有操作選項,操作選項長度4 word 或8 byte
// TCP標識 TcpHdr_Stru.Flags
#define cTCP_FIN			0x01
#define cTCP_SYN			0x02
#define cTCP_RST			0x04
#define cTCP_PSH			0x08
#define cTCP_ACK			0x10
#define cTCP_URG			0x20
	UINT16 WndSize;					// 窗口大小,表明接還能容納的TCP數據(最大0xFFFF)
#define cTCP_WS				1460	// 定義本地窗口,必須滿足條件:cTCP_MSS <= cTCP_MSS <= 0xFFFF
	UINT16 TcpChkSum;
	UINT16 UrgPoint;				// 緊急指針
//	UINT16 OptData[2];
// 最長TCP報文大小(頭選項之一):字節(最大1460)
#define cTCP_MSS     		1460	// 定義本地最大TCP報文長度
}TcpHdr_Stru;

// TCP 本地初始32位序號
extern volatile UINT16 guwISN[2];

// TCP頭的常數指針。
#define cpTcpHdrBuf		((UINT16 *)&guwEthBuf[cEthHdrLen + cIpHdrLen])			// 指向Word的buffer
#define cptTcpHdrBuf	((TcpHdr_Stru *)&guwEthBuf[cEthHdrLen + cIpHdrLen])		// 指向結構

// TCP數據段指針
#define cpTcpData	((UINT16 *)&guwEthBuf[cEthHdrLen + cIpHdrLen + cTcpHdrLen])	// 指向Word的buffer

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

// ARP表結構
typedef struct{
	UINT16 IpAddr[2];
	UINT16 EthAddr[3];
	UINT16 Time2;		// 刷新時刻,2Hz的計數
// ARP表記錄的最大老化清除時間:20分鐘(4.4BSD-Lite 默認)。
#define cArpMaxAge 20*60
}ArpEntries_Stru;

// 最大ARP表記錄數
#define cArpTabSize 	16

// 分配ARP鏈表的內存
extern ArpEntries_Stru gstArpTab[cArpTabSize];

// ARP表記錄的地址
#define cptArpTabStart		((ArpEntries_Stru *)&gstArpTab[0])				// 指向結構,開始地址指針
#define cptArpTabEnd		((ArpEntries_Stru *)&gstArpTab[cArpTabSize])	// 指向結構,結束地址指針

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

// TCP事務聯接狀態記錄結構
typedef struct{
	UINT16 TcpStateFlags;		// TCP狀態和標識
// TCP 事務狀態標識 Conn_Stru->TcpStateFlags
#define cTCP_CLOSED			0x00
#define cTCP_SYN_RCVD		0x01
#define cTCP_SYN_SENT		0x02
#define cTCP_ESTABLISHED	0x03
#define cTCP_FIN_WAIT_1		0x04
#define cTCP_FIN_WAIT_2		0x05
#define cTCP_CLOSING		0x06
#define cTCP_TIME_WAIT		0x07
#define cTCP_CLOSE_WAIT		0x08
#define cTCP_LAST_ACK		0x09
#define cTCP_TS_MASK		0x0f
#define cTCP_OUTSTANDING	0x10
#define cTCP_STOPPED		0x20
	UINT16 LocalPort;			// 本地端口
	UINT16 RemotePort;			// 遠端端口
	UINT16 RemoteIpAddr[2];		// 遠端IP
	UINT16 RcvNum[2];			// 下次接收包的遠端32位Seq序號
	UINT16 AckNum[2];			// 下次接收包的遠端32位Ack序號
  	UINT16 SeqNum[2];		    // 本地當前包32位Seq序號
	UINT16 MaxSegSize;          // 本連接事務使用的最長TCP報文大小,詳見TCP頭結構說明
	UINT16 Timer;				// 狀態需要等待的時間
	UINT16 NumRetran;			// 重傳次數
	UINT16 PollTime;			// 空閑時間計數
// 由于TCP事務輪詢時間為1秒,所以300秒空閑就異常終止當前連接。(WIN2K用900秒)
#define cTCP_MAX_POLL	300
}Conn_Stru;

// TCP最大聯接事務數。
#define cMaxConnetions		16

// 分配TCP最大聯接事務鏈表內存
extern Conn_Stru gstConns[cMaxConnetions];

// TCP最大聯接事務記錄表首地址
#define cptConnsStart		((Conn_Stru *)&gstConns[0])				// 指向結構
// TCP最大聯接事務記錄表結束地址
#define cptConnsEnd		((Conn_Stru *)&gstConns[cMaxConnetions])	// 指向結構

// 用于RTT估計器的重傳指數退避時間,公式: T = cTCP_RTO * 2^n (n表示第幾次重傳)
#define cTCP_RTO	3

// TCP超時關閉聯接的時間,即在TIME_WAIT狀態的聯接保持時間
#define cTCP_TIME_WAIT_2MSL		120		// 120 秒(因為TCP事務1秒輪詢1次)

// TCP最大重傳次數
#define cTCP_MAXRTX		3

// 本地TCP端口范圍
#define cLocalPortStart	4096	// 開始:0x1000
#define cLocalPortEnd	28672	// 結束:0x7000

// TCP最大偵聽端口數。除非作為Web服務器,否則通常為1
#define cMaxListenPorts		8	// 本應用允許偵聽端口

// 當前TCP事務聯接指針
extern Conn_Stru *gptConn;

// 分配TCP偵聽端口號鏈表內存
extern UINT16 guwListenPorts[cMaxListenPorts];

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

// 其它定義

// 正在處理包的字節長度(byte)。這個值隨處理正在處理的協議層的不同而改變!
extern volatile UINT16 guwEthLen;

// TCP/IP協議棧和應用程序間通訊的變量
extern volatile UINT16 guwFlags;
// 協議層通過guwFlags與應用層的聯系常數定義
#define cTCP_ACKDATA	0x01	// 上次發的數據已經被確認,通知應用程序可以發新的數據
#define cTCP_NEWDATA	0x02	// 遠端發給本地數據包,協議層需要ACK回應
#define cTCP_REXMIT		0x04	// 通知應用程序重發上次的數據包
#define cTCP_POLL		0x08	// 如果應用程序等待發數據,就給它一個標識POLL
#define cTCP_CLOSE		0x10	// 遠端已經關閉聯接,或應用程序要關閉聯接
#define cTCP_ABORT		0x20	// 遠端要放棄聯接,或應用程序要放棄聯接
#define cTCP_CONNECTED	0x40	// 聯接成功建立
#define cTCP_TIMEDOUT	0x80	// 超過重傳次數,放棄聯接

// cTCP_DATA:msip_Process()的入口參數,表示需要處理已經在guwEthBuf緩沖區的包。
// cTCP_TIMER:msip_Process()的入口參數,表示需要做周期性的TCP事務處理。
#define cTCP_DATA    1
#define cTCP_TIMER   2

//---------------------------------------------------------------------------------
// 以太收發功能

// ether_Send(): 發送以太包宏定義,兼容性定義
#define ether_Send()		RTL8019AS_TX(guwEthLen, cpEthHdrBuf)

// ether_Receive(): 接收以太包宏定義,兼容性定義
#define ether_Receive()		RTL8019AS_RX(cpEthHdrBuf)

//---------------------------------------------------------------------------------
// ARP 功能過程

// msip_Arp_Timer():ARP表老化掃描,每8秒執行1次(BSD default 10 seconds)
// 超過20分鐘(BSD default)未變化的,將被刪除!
extern void msip_Arp_Time(void);

// msip_Arp_Update():ARP表更新過程。
// uwIpAddr:IP地址
// uwEthAddr:物理地址
// 返回更新的ARP表的地址。如果地址在表外,說明更新失敗。
extern ArpEntries_Stru *msip_Arp_Update(UINT16 *uwIpAddr, UINT16 *uwEthAddr);

// msip_Arp_In():如果檢測到ARP包輸入就執行。
// 如果遠端ARP請求,過程發送ARP回應。
// 如果遠端ARP回應,過程更新ARP表。
extern void msip_Arp_In(void);

// msip_Arp_Out():將待發送的IP包封裝以太頭,并發送封裝好的以太包
// pARPTAB:指向ARP表中遠端IP和物理地址的影射表記錄地址
//       如果pARP是空指針,原IP包將被破壞,并且用ARP請求包替代發送。
extern void msip_Arp_Out(ArpEntries_Stru *pARPTAB);

//---------------------------------------------------------------------------------
// TCP/IP 功能:

// msip_TcpChkSum():TCP/IP校驗和過程。
extern UINT16 msip_TcpChkSum(void);

// msip_Process(): TCP/IP 全處理過程
// uwFlag:處理類型,見cTCP_DATA和cTCP_TIMER
// pConn:TCP事件指針
extern void msip_Process(UINT16 uwFlag);

// 系統接口類:

// msip_Init(): TCP/IP功能初始化,必須在其它TCP/IP處理前調用。包含ARP、被動偵聽端口和TCP事務連接
extern void msip_Init(void);

// msip_Periodic(): TCP/IP事務周期輪詢過程,1秒發生1次
extern void msip_Periodic(void);

// msip_Input(): 如果輸入的是IP包,接執行改過程。
#define msip_Input()	msip_Process(cTCP_DATA)

// msip_APPCALL(): 供用戶寫TCP應用代碼的函數名。
#define userapp		msip_APPCALL	// 指向RS232應用

// 應用程序接口類:(應用層控制協議層狀態變遷)

// msip_Listen(): TCP/IP被動偵聽本地端口是否被占用!用于服務端
// uwPort:本地TCP端口
// 返回0:表示端口被用
// 返回1:表示建立成功
extern UINT16 msip_Listen(UINT16 uwPort);

// msip_Connect(): TCP/IP建立主動聯接遠端,用于客戶端
// uwLocalPort:本地TCP端口
// puwRemoteIpAddr:遠端IP地址
// uwRemotePort:遠端TCP端口
// 返回0:表示建立失敗
// 返回1:表示建立成功
#if  TCP_ACTIVE_OPEN == 1
extern UINT16 msip_Connect(UINT16 uwLocalPort, UINT16 *puwRemoteIpAddr, UINT16 uwRemotePort);
#endif

// msip_Send():發送數據到當前的連接,保留的uIP定義,我們不用
#define msip_Send()

// msip_DataLen():當前TCP數據段的長度(Bytes),保留的uIP定義,我們不用
#define msip_DataLen()		guwEthLen

// msip_Close(): 主動關閉當前連接,應用層通知協議層正常關閉當前連接(FIN)
#define msip_Close()	(guwFlags = cTCP_CLOSE)

// msip_Abort():異常關閉當前連接,應用層通知協議層復位當前連接(RST)
#define msip_Abort()	(guwFlags = cTCP_ABORT)

// msip_Stop(): 停止接收含TCP數據段的包,應用層通知協議層將窗口尺寸設置為0,期待遠端暫停發送帶數據的TCP包!
#define msip_Stop()		(gptConn->TcpStateFlags |= cTCP_STOPPED)

// msip_Restart(): 重新開始當前的連接,應用層通知協議層重新開放窗口尺寸,以便允許遠端發送帶數據的TCP包!
#define msip_Restart()	{guwFlags |= cTCP_NEWDATA; 	gptConn->TcpStateFlags &= ~cTCP_STOPPED;}

// 測試判斷接口類:(應用層查詢協議層狀態)

// msip_connected():
// 服務或服務都有效,表明當前連接建立成功!狀態只會出現一次!
// 在客戶模式可以傳TCP數據;服務模式最好不發送數據!
#define msip_Connected()	(guwFlags & cTCP_CONNECTED)

// msip_Poll():
// 不論是服務或客戶,都表明協議層處于連接空閑狀態!標識由TCP事件輪詢傳回,在這個狀態下可設置
// 空閑計數器記錄空閑次數,達到一定時間就異常終止連接!如果這樣做,就不能在這個狀態發送數據!
// 允許發送數據的條件是:((guwEthLen > 0) || (guwFlags & cTCP_NEWDATA))
#define msip_Poll()		(guwFlags & cTCP_POLL)

// msip_NewData():處于ESTABLELISH狀態
//(guwEthLen > 0)協議層收到遠端發出TCP數據包,并期待應用層處理:在這個狀態下,允許只
// 發送無TCP數據的ACK確認(設置:guwEthLen = 0),或者發送帶TCP數據的ACK確認(把要發送的
// TCP數據長度設置給guwEthLen)。
#define msip_NewData()	(guwFlags & cTCP_NEWDATA)

// msip_Acked():處于ESTABLELISH狀態
//(guwEthLen = 0)協議層收到遠端發出ACK確認包。在這個狀態下,允許發送帶TCP數據的ACK
// 確認(把要發送的TCP數據長度設置給guwEthLen),或者不響應。
#define msip_Acked()		(guwFlags & cTCP_ACKDATA)

// mip_Reset_Acked(): 清除確認后的標志,好象沒有用?!(也許用于重傳)
#define mip_Reset_Acked()	(guwFlags &= ~cTCP_ACKDATA)

// msip_Rexmit(): 應用層上次的以發數據需要重傳,標識由TCP事件輪詢傳回!應用層不允許更改guwEthLen的值!!!
#define msip_Rexmit()	(guwFlags & cTCP_REXMIT)

// msip_Stopped(): 當前連接已經停止接收含TCP數據段的包,連接是正常的。
#define msip_Stopped()	(gptConn->TcpStateFlags & cTCP_STOPPED)

// msip_Aborted(): 當前連接已經異常關閉,協議層發送RST復位包。
#define msip_Aborted()	(guwFlags & cTCP_ABORT)

// msip_Closed(): 當前連接已經正常關閉,應用層發送FIN包
#define msip_Closed()	(guwFlags & cTCP_CLOSE)

// msip_TimedOut(): 當前連接時間溢出,并且連接因時間溢出異常關閉,協議層發送RST復位包。
#define msip_TimedOut()	(guwFlags & cTCP_TIMEDOUT)

// 附加接口類:-------------------------------------------------------------------

// msip_MSS(): 讀 TCP/IP 的MSS,以決定將要發送的數據長度遠端是否能接受。
#define msip_MSS()		(gptConn->MaxSegSize)

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


#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人小视频免费在线观看| 欧美日韩卡一卡二| 欧美午夜精品免费| 精品国产免费视频| 亚洲综合在线视频| 风流少妇一区二区| 精品久久久久久最新网址| 一区二区三区资源| 成人黄色大片在线观看| 亚洲精品一区在线观看| 爽爽淫人综合网网站| 99精品视频在线播放观看| 久久奇米777| 免费成人在线视频观看| 欧美日韩另类国产亚洲欧美一级| 国产精品国产三级国产专播品爱网 | 粉嫩13p一区二区三区| 在线播放一区二区三区| 一区二区三区国产豹纹内裤在线| 成人性生交大片免费看在线播放| 久久综合九色综合97婷婷| 日韩精品电影一区亚洲| 欧美日韩和欧美的一区二区| 亚洲精品久久7777| 91国产免费观看| 亚洲欧美另类久久久精品| 99久久久久久| 亚洲天堂av老司机| 91美女视频网站| 亚洲精品videosex极品| 色综合久久久久网| 亚洲激情成人在线| 欧美在线视频不卡| 亚洲图片欧美色图| 欧美久久久久中文字幕| 日本成人在线视频网站| 日韩欧美国产三级| 激情综合色播激情啊| 精品国产1区2区3区| 国产一区二区三区| 国产精品网站一区| 91丝袜国产在线播放| 亚洲一区二区三区四区的| 欧美日韩在线综合| 麻豆精品新av中文字幕| 久久这里只有精品首页| 不卡影院免费观看| 亚洲男女毛片无遮挡| 欧美又粗又大又爽| 日韩精品一级二级| 国产日韩成人精品| 99精品一区二区三区| 亚洲高清久久久| 欧美精品一区二| 高清不卡在线观看av| 亚洲男人的天堂一区二区| 欧美电影在线免费观看| 韩国中文字幕2020精品| 国产精品久久久久久久裸模| 欧美日韩精品一区二区天天拍小说| 日韩av在线免费观看不卡| 久久精品水蜜桃av综合天堂| 92国产精品观看| 男人的天堂久久精品| 国产精品久久久久久久久免费桃花 | 日韩一区国产二区欧美三区| 国产精品77777竹菊影视小说| 综合久久综合久久| 欧美一区二区三区喷汁尤物| 豆国产96在线|亚洲| 免费av网站大全久久| 久久影音资源网| 在线观看亚洲a| 国产乱妇无码大片在线观看| 夜夜嗨av一区二区三区四季av| 欧美成人bangbros| 一本到不卡精品视频在线观看| 美腿丝袜亚洲一区| 一区二区三区四区高清精品免费观看| 日韩视频免费观看高清在线视频| 成人美女视频在线看| 免费视频一区二区| 亚洲激情男女视频| 国产欧美日韩精品在线| 欧美一二三区在线| 在线观看免费一区| www.av精品| 黄网站免费久久| 日日夜夜免费精品视频| 亚洲精品国产a| 日本一区二区三区视频视频| 日韩片之四级片| 欧美日韩一卡二卡| 91极品美女在线| av不卡免费电影| 国产乱妇无码大片在线观看| 久久99久久99小草精品免视看| 一区二区三区影院| 中文字幕一区二区三区视频| 久久综合久久鬼色| 欧美大肚乱孕交hd孕妇| 欧美一区二区三区思思人| 在线免费观看一区| 99国产精品国产精品久久| 成人午夜伦理影院| 国产成人亚洲综合a∨猫咪| 狂野欧美性猛交blacked| 琪琪久久久久日韩精品| 日韩精品乱码免费| 日韩综合小视频| 婷婷国产在线综合| 日日摸夜夜添夜夜添精品视频| 亚洲已满18点击进入久久| 亚洲日本在线看| 亚洲欧美另类在线| 亚洲一区中文日韩| 亚洲国产美女搞黄色| 天天操天天综合网| 三级在线观看一区二区| 免费看欧美女人艹b| 日本不卡1234视频| 韩国女主播一区| 国产91精品免费| 99re视频精品| 在线观看视频91| 7777精品久久久大香线蕉| 日韩三级在线免费观看| 精品日韩欧美一区二区| 久久综合色8888| 亚洲欧洲另类国产综合| 亚洲综合小说图片| 日韩成人一级片| 国产麻豆欧美日韩一区| jlzzjlzz亚洲日本少妇| 欧美影视一区在线| 日韩情涩欧美日韩视频| 久久尤物电影视频在线观看| 中文字幕永久在线不卡| 亚洲码国产岛国毛片在线| 日日夜夜精品视频免费| 狠狠色丁香九九婷婷综合五月| 高清成人免费视频| 欧美日韩在线播放一区| 精品国产一区久久| 亚洲欧洲日韩综合一区二区| 亚洲影视在线播放| 国产一区二区在线免费观看| caoporm超碰国产精品| 欧美日韩不卡视频| 久久综合狠狠综合久久综合88 | 欧美白人最猛性xxxxx69交| 久久久影院官网| 亚洲色图色小说| 另类的小说在线视频另类成人小视频在线| 韩国毛片一区二区三区| 在线欧美一区二区| 日韩精品资源二区在线| 亚洲欧美日韩小说| 麻豆精品国产91久久久久久| 成人h版在线观看| 欧美一卡二卡三卡| 亚洲视频免费在线观看| 免费观看久久久4p| 色综合久久久久| 国产无人区一区二区三区| 亚洲成av人片在线观看无码| 国产成人av电影| 777色狠狠一区二区三区| 中文字幕在线观看不卡| 精品系列免费在线观看| 一本大道久久a久久综合| 精品成人在线观看| 亚洲成人自拍一区| 99久久精品情趣| 久久蜜桃一区二区| 日本亚洲天堂网| 在线亚洲免费视频| 亚洲欧洲三级电影| 国产乱人伦偷精品视频不卡| 欧美一区二区精品久久911| 亚洲人成人一区二区在线观看 | 色综合咪咪久久| 欧美国产精品一区二区| 久久99精品久久久久久国产越南| 在线观看中文字幕不卡| 中文字幕在线播放不卡一区| 国模娜娜一区二区三区| 欧美一区二区大片| 日本视频中文字幕一区二区三区| 91视频国产资源| 亚洲人成在线播放网站岛国 | 亚洲黄一区二区三区| 成人精品小蝌蚪| 中文字幕av不卡| 国产成人精品午夜视频免费| 久久伊人中文字幕| 精品一区二区三区免费毛片爱| 日韩午夜精品视频| 免费精品视频在线| 欧美成人精品福利|