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

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

?? ztcp.h

?? uCOSII上實現的tcpip協議實現代碼(gcc編譯)
?? H
字號:
#ifndef _ZTCP_H#define _ZTCP_H#include "zarch.h"#include "zdef.h"#include "zbuffer.h"#include "znetif.h"#include "zipv4.h"#include "zsocket.h"#define TCP_ACCEPT_NUMBER	5#define TCP_SEGMENT_NUMBER	32STRUCT_BEGINtypedef struct _tcp_header{	u16_t src;	u16_t dest;	u32_t seqno;	u32_t ackno;	u16_t _offset_flags;	u16_t wnd;	u16_t chksum;	u16_t urgp;}tcp_header_t;STRUCT_ENDtypedef enum _tcp_state {	CLOSED	    = 0,	LISTEN	    = 1,	SYN_SENT    = 2,	SYN_RCVD    = 3,	ESTABLISHED = 4,	FIN_WAIT_1  = 5,	FIN_WAIT_2  = 6,	CLOSE_WAIT  = 7,	CLOSING	    = 8,	LAST_ACK    = 9,	TIME_WAIT   = 10}tcp_state;/* This structure is used to repressent TCP segments. * Our segment include TCP + ETH + IP + DATA because simple*/typedef struct _tcp_seg{		struct _tcp_seg *next;		/*segment chain*/		u16_t len;					/* the TCP length of this segment */		tcp_header_t *ptcpheader; 	/* the TCP's header information*/		zbuffer_t	*pbuffer;			/* pointer to real data's zbuffer*/		void 		*pdata;			/* pointer to real data's position*/				u8_t	_id;				/*used for segment alloc and free*/		zbuffer_t *_ori_pbuffer;	/* data + TCP header + IP + eth */}tcp_seg_t;typedef struct _tcp_pcb{	struct _tcp_pcb *next;	zsocket_t	*_psocket;		/*identify of TCP socket*/	u8_t		user_state;	/*used for API function, such as poll or block*/	sys_sem_t	user_sem;	/*used for API function wait a EVENT*/		s8_t		accept;		/*if this is a SERVER tcp socket*/	struct	_tcp_pcb	*server;	/*if this pcb is accepted from a server*/			tcp_state	state;			/*the state of TCP */	/* receiver varables */	u32_t rcv_nxt;	 /* next seqno expected */	u16_t rcv_wnd;	 /* receiver window */	/* Timers */	u32_t tmr;	/* Retransmission timer. */	u8_t rtime;	u16_t mss;   /* maximum segment size */	u8_t flags;#define TF_ACK_DELAY 0x01   /* Delayed ACK. */#define TF_ACK_NOW   0x02   /* Immediate ACK. */#define TF_INFR	     0x04   /* In fast recovery. */#define TF_RESET     0x08   /* Connection was reset. */#define TF_CLOSED    0x10   /* Connection was sucessfully closed. */#define TF_GOT_FIN   0x20   /* Connection was closed by the remote end. */	/* RTT estimation variables. */	u16_t rttest; /* RTT estimate in 500ms ticks */	u32_t rtseq;  /* sequence number being timed */	s32_t sa, sv;	u16_t rto;    /* retransmission time-out */	u8_t nrtx;    /* number of retransmissions */	/* fast retransmit/recovery */	u32_t lastack; /* Highest acknowledged seqno. */	u8_t dupacks;	u16_t	acked;	/* congestion avoidance/control variables */	u16_t cwnd;	u16_t ssthresh;	/* sender variables */	u32_t snd_nxt,	     /* next seqno to be sent */	snd_max,       /* Highest seqno sent. */	snd_wnd,       /* sender window */	snd_wl1, snd_wl2,	snd_lbb;	u16_t snd_buf;	 /* Avaliable buffer space for sending. */	u8_t snd_queuelen;	u8_t polltmr, pollinterval;	tcp_seg_t *unsent;	tcp_seg_t *unacked;	zbuffer_t	*recv_pbuf;		/*read data buffer*/}tcp_pcb_t;#define TCP_SEQ_LT(a,b)	    ((s32_t)((a)-(b)) < 0)#define TCP_SEQ_LEQ(a,b)    ((s32_t)((a)-(b)) <= 0)#define TCP_SEQ_GT(a,b)	    ((s32_t)((a)-(b)) > 0)#define TCP_SEQ_GEQ(a,b)    ((s32_t)((a)-(b)) >= 0)#define TCP_FIN 0x01#define TCP_SYN 0x02#define TCP_RST 0x04#define TCP_PSH 0x08#define TCP_ACK 0x10#define TCP_URG 0x20/* Length of the TCP header, excluding options. */#define TCP_HEAD_LEN 20/* ---------- TCP options ---------- */#define TCP_TTL			255/* Controls if TCP should queue segments that arrive out of   order. Define to 0 if your device is low on memory. */#define TCP_QUEUE_OOSEQ		1/* TCP Maximum segment size. */#define TCP_MSS			1024/* TCP sender buffer space (bytes). */#define TCP_SND_BUF		4096/* TCP sender buffer space (segment). This must be at least = 2 *   TCP_SND_BUF/TCP_MSS for things to work. */#define TCP_SND_QUEUELEN	TCP_SND_BUF/TCP_MSS/* TCP receive window. */#define TCP_WND			1024*4/* Maximum number of retransmissions of data segments. */#define TCP_MAXRTX		7	/*We have reduce to 7 from 12 --zhouchang*//* Maximum number of retransmissions of SYN segments. */#define TCP_SYNMAXRTX		4/*time const for TCP*/#define TCP_TMR_INTERVAL       100  /*The TCP timer interval in milliseconds. */#define TCP_FAST_INTERVAL      200  /* the fine grained timeout in												  milliseconds */#define TCP_SLOW_INTERVAL      500  /* the coarse grained timeout in												  milliseconds */#define TCP_FIN_WAIT_TIMEOUT 20000 /* milliseconds */#define TCP_SYN_RCVD_TIMEOUT 20000 /* milliseconds */#define TCP_LASK_ACK_TIMEOUT 20000 /* milliseconds */#define TCP_OOSEQ_TIMEOUT	 6 /* x RTO */#define TCP_MSL 60000  /* The maximum segment lifetime in microseconds *//*------------------------------------------------------*/#define TCPH_OFFSET(hdr) (NTOHS((hdr)->_offset_flags) >> 8)#define TCPH_FLAGS(hdr) (NTOHS((hdr)->_offset_flags) & 0xff)#define TCPH_OFFSET_SET(hdr, offset) (hdr)->_offset_flags = HTONS(((offset) << 8) | TCPH_FLAGS(hdr))#define TCPH_FLAGS_SET(hdr, flags) (hdr)->_offset_flags = HTONS((TCPH_OFFSET(hdr) << 8) | (flags))#define TCP_TCPLEN(seg) ((seg)->len + ((TCPH_FLAGS((seg)->ptcpheader) & TCP_FIN || TCPH_FLAGS((seg)->ptcpheader) & TCP_SYN)? 1: 0))#define TCP_REG(pcbs, npcb) do { \			    (npcb)->next = *(pcbs);\			    *(pcbs) = (npcb);\			    } while(0)#define TCP_RMV(pcbs, npcb) do { \			    if(*(pcbs) == (npcb)) { \			       *(pcbs) = (*(pcbs))->next; \			    } else for(tcp_tmp_pcb = *(pcbs); tcp_tmp_pcb != NULL; tcp_tmp_pcb = tcp_tmp_pcb->next) { \			       if(tcp_tmp_pcb->next != NULL && tcp_tmp_pcb->next == (npcb)) { \				  tcp_tmp_pcb->next = (npcb)->next; \				  break; \			       } \			    } \			    (npcb)->next = NULL; \			    } while(0)/*tcp_ack just ack seqno and don't send data if ACK_DELAY have beed set*/#define tcp_ack(pcb)	 if((pcb)->flags & TF_ACK_DELAY) { \			    (pcb)->flags |= TF_ACK_NOW; \			    tcp_output(pcb); \			 } else { \			    (pcb)->flags |= TF_ACK_DELAY; \			 }#define tcp_ack_now(pcb) (pcb)->flags |= TF_ACK_NOW; \                         tcp_output(pcb)#define MIN(x,y) (x) < (y)? (x): (y)#define UMAX(a, b)      ((a) > (b) ? (a) : (b))/* Definitions for error constants. */#define ERR_OK    0      /* No error, everything OK. */#define ERR_MEM  -1      /* Out of memory error.     */#define ERR_BUF  -2      /* Buffer error.            */#define ERR_ABRT -3      /* Connection aborted.      */#define ERR_RST  -4      /* Connection reset.        */#define ERR_CLSD -5      /* Connection closed.       */#define ERR_CONN -6      /* Not connected.           */#define ERR_VAL  -7      /* Illegal value.           */#define ERR_ARG  -8      /* Illegal argument.        */#define ERR_RTE  -9      /* Routing problem.         */#define ERR_USE  -10     /* Address in use.          */		extern u32_t	tcp_ticks;extern tcp_pcb_t	*ptcp_active_chain;extern tcp_pcb_t	*ptcp_listen_chain;extern tcp_pcb_t	*ptcp_tw_chain;	extern void tcp_init(void);extern void tcp_input(znetif_t *pnetif, zbuffer_t *pbuffer);extern u8_t	tcp_open(zsocket_t *psocket);extern u8_t	tcp_listen(zsocket_t *psocket);extern s8_t	tcp_accept(zsocket_t *psocket);extern u8_t tcp_recv(zsocket_t *psocket, zbuffer_t **ppbuffer, u8_t flags);extern u8_t	tcp_send(zsocket_t *psocket, u8_t *pdata, u16_t *len, u8_t flags);extern u8_t tcp_close(zsocket_t *psocket);extern void tcp_debug(s8_t id, u8_t cmd);extern void tcp_tmr(void *pdata);extern tcp_pcb_t *tcp_pcb_new(zsocket_t *psocket);extern void tcp_pcb_delete(tcp_pcb_t *ptcp);extern tcp_pcb_t *tcp_pcb_query(s8_t id);extern void tcp_pcb_dump(tcp_pcb_t *ptcp);extern void tcp_pcb_remove(tcp_pcb_t **pplist, tcp_pcb_t *ptcp);extern void tcp_pcb_clean(tcp_pcb_t *ptcp);extern void tcp_abort(tcp_pcb_t *ptcp, zbuffer_t *pbuffer);extern s8_t tcp_pcb_close(tcp_pcb_t *ptcp);s8_t tcp_insert_queue( tcp_pcb_t *ptcp, void *pdata, u16_t data_len, u8_t flags,u8_t *optdata, u8_t opt_len);extern tcp_seg_t *tcp_seg_new(void);void tcp_rexmit_seg(tcp_pcb_t *ptcp, tcp_seg_t *seg);extern void tcp_seg_dump(tcp_seg_t *pseg);extern void tcp_seg_delete(tcp_seg_t *pseg);extern u8_t tcp_reset(znetif_t *pnetif, ip_header_t *pipheader, tcp_header_t *ptcpheader);extern u8_t tcp_ip_out(znetif_t *pnetif, ipaddr_t *pdest_ip, ipaddr_t *psrc_ip,zbuffer_t * pbuffer);extern s8_t tcp_output(tcp_pcb_t *ptcp);#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
三级久久三级久久久| 91免费在线看| 在线观看免费视频综合| 91精品国产综合久久婷婷香蕉| 国产亚洲美州欧州综合国 | www激情久久| 亚洲电影激情视频网站| 成人福利视频在线看| 久久综合中文字幕| 日本伊人色综合网| 欧美影院精品一区| 亚洲天堂成人在线观看| 成人免费av网站| 国产丝袜美腿一区二区三区| 日韩国产欧美一区二区三区| 欧美色图天堂网| 亚洲视频在线一区观看| 成人中文字幕电影| 国产三级一区二区| 国产在线一区观看| 欧美成人国产一区二区| 日韩成人免费电影| 日韩网站在线看片你懂的| 视频在线观看一区| 欧美精品一卡二卡| 亚洲成a人v欧美综合天堂下载 | 风间由美中文字幕在线看视频国产欧美| 91精品国产一区二区三区 | 国产精品夜夜嗨| 日韩美一区二区三区| 免费一区二区视频| 精品国产青草久久久久福利| 久久爱www久久做| 精品免费视频一区二区| 久久精品999| 久久久综合视频| 国产精品一区二区不卡| 国产精品视频一二三| 99久久精品国产观看| 日日摸夜夜添夜夜添亚洲女人| 92国产精品观看| 一区二区三区中文在线| 精品污污网站免费看| 日韩av高清在线观看| 日韩欧美资源站| 国产精品亚洲综合一区在线观看| 日韩精品福利网| 日韩精品中文字幕在线一区| 韩国三级电影一区二区| 国产精品国产三级国产三级人妇 | 91精品国产欧美日韩| 久久国产生活片100| 国产亚洲综合色| 一本大道久久a久久精品综合| 亚洲午夜精品在线| 日韩精品自拍偷拍| 波多野结衣欧美| 午夜av一区二区三区| 欧美精品一区二区三区在线播放| 国产寡妇亲子伦一区二区| 亚洲日本在线a| 日韩欧美第一区| 97久久久精品综合88久久| 亚洲国产视频一区二区| 国产视频911| 欧美三级一区二区| 国产福利一区在线观看| 亚洲国产成人精品视频| 国产网红主播福利一区二区| 欧美日韩精品电影| 99久久精品免费看| 日韩中文欧美在线| 中文字幕一区二区三区不卡| 日韩免费观看2025年上映的电影 | 亚洲一区二区精品3399| 久久久久久久久久久99999| 91九色最新地址| 国产精品99久久久久久久女警| 亚洲精品视频在线看| 久久婷婷久久一区二区三区| 欧美三级在线播放| 91在线无精精品入口| 国产一区二区三区四区在线观看| 一区二区三区欧美亚洲| 欧美激情一区在线观看| 日韩女优电影在线观看| 欧美伊人久久久久久久久影院 | 美女网站一区二区| 亚洲猫色日本管| 国产目拍亚洲精品99久久精品| 欧美日韩国产小视频| 91蜜桃免费观看视频| 国产一区二区三区免费在线观看| 亚洲一区中文在线| 亚洲欧美日韩综合aⅴ视频| 中文字幕免费不卡在线| 久久香蕉国产线看观看99| 91精品国产色综合久久不卡蜜臀 | 欧美日韩一区在线| av成人免费在线观看| 国产高清不卡二三区| 极品瑜伽女神91| 免费成人深夜小野草| 日韩综合在线视频| 日本中文字幕不卡| 日韩福利电影在线观看| 亚洲国产sm捆绑调教视频| 亚洲免费av在线| 一区二区久久久久久| 亚洲少妇屁股交4| 亚洲黄色录像片| 国产中文一区二区三区| 韩国在线一区二区| 国产99久久久精品| 成人app软件下载大全免费| 大尺度一区二区| 9i在线看片成人免费| 99久久久久久| 欧美丝袜第三区| 欧美精品三级在线观看| 欧美一区二区三区视频在线| 欧美一区二区三区四区高清| 亚洲精品在线观看网站| 精品国产伦理网| 国产欧美一区二区精品久导航| 国产亚洲1区2区3区| 国产精品国模大尺度视频| 亚洲免费色视频| 亚洲午夜久久久久久久久电影院 | 国产不卡高清在线观看视频| 国产精品夜夜爽| 91在线免费播放| 日本乱码高清不卡字幕| 884aa四虎影成人精品一区| 欧美大胆人体bbbb| 中文字幕av一区二区三区高| 亚洲免费看黄网站| 男女激情视频一区| 成人综合日日夜夜| 欧美日韩国产123区| 日韩精品资源二区在线| 国产精品久久久久aaaa| 午夜一区二区三区视频| 狠狠色狠狠色合久久伊人| av亚洲精华国产精华精华| 欧美剧情电影在线观看完整版免费励志电影| 欧美挠脚心视频网站| 久久综合999| 午夜天堂影视香蕉久久| 国产激情一区二区三区四区| 欧美性感一类影片在线播放| 精品国产成人在线影院 | 欧美人与z0zoxxxx视频| 久久久亚洲精品石原莉奈| 洋洋成人永久网站入口| 精品伊人久久久久7777人| 一本大道久久精品懂色aⅴ| 精品少妇一区二区三区在线视频| 亚洲日本乱码在线观看| 狠狠v欧美v日韩v亚洲ⅴ| 欧美午夜精品免费| 国产精品另类一区| 日本美女一区二区三区| 91久久香蕉国产日韩欧美9色| 久久众筹精品私拍模特| 婷婷开心久久网| 99re66热这里只有精品3直播| 久久网站最新地址| 婷婷综合另类小说色区| 国产亚洲欧美日韩俺去了| 视频一区欧美精品| 欧美在线观看你懂的| 国产精品乱人伦| 国产精品一区二区无线| 日韩欧美一二区| 性做久久久久久免费观看| 99精品视频在线免费观看| 久久―日本道色综合久久| 免费观看30秒视频久久| 欧美日韩色综合| 洋洋成人永久网站入口| 91丝袜高跟美女视频| 欧美国产丝袜视频| 国产成人免费视频一区| 26uuu亚洲综合色欧美| 全国精品久久少妇| 91精品在线免费| 午夜精品一区二区三区电影天堂| 一本久久综合亚洲鲁鲁五月天 | 手机精品视频在线观看| 欧美亚洲日本国产| 一区二区视频免费在线观看| av亚洲精华国产精华精华| 国产女人水真多18毛片18精品视频| 精品一区二区三区欧美| 2022国产精品视频| 懂色av一区二区夜夜嗨| 欧美国产亚洲另类动漫| 99视频国产精品| 亚洲欧美日韩国产另类专区|