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

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

?? tcp.h

?? 基于AT91SAM7x256的硬件平臺(tái)的WEB服務(wù)器源碼(A&shy DS版本, ucOS_II+LWIP+自己編寫(xiě)的DNS查詢工具)
?? H
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
  /* sender variables */  u32_t snd_nxt,       /* next seqno to be sent */    snd_max,       /* Highest seqno sent. */    snd_wnd,       /* sender window */    snd_wl1, snd_wl2, /* Sequence and acknowledgement numbers of last       window update. */    snd_lbb;       /* Sequence number of next byte to be buffered. */  u16_t acked;    u16_t snd_buf;   /* Available buffer space for sending (in bytes). */  u8_t snd_queuelen; /* Available buffer space for sending (in tcp_segs). */      /* These are ordered by sequence number: */  struct tcp_seg *unsent;   /* Unsent (queued) segments. */  struct tcp_seg *unacked;  /* Sent but unacknowledged segments. */#if TCP_QUEUE_OOSEQ    struct tcp_seg *ooseq;    /* Received out of sequence segments. */#endif /* TCP_QUEUE_OOSEQ */#if LWIP_CALLBACK_API  /* Function to be called when more send buffer space is available. */  err_t (* sent)(void *arg, struct tcp_pcb *pcb, u16_t space);    /* Function to be called when (in-sequence) data has arrived. */  err_t (* recv)(void *arg, struct tcp_pcb *pcb, struct pbuf *p, err_t err);  /* Function to be called when a connection has been set up. */  err_t (* connected)(void *arg, struct tcp_pcb *pcb, err_t err);  /* Function to call when a listener has been connected. */  err_t (* accept)(void *arg, struct tcp_pcb *newpcb, err_t err);  /* Function which is called periodically. */  err_t (* poll)(void *arg, struct tcp_pcb *pcb);  /* Function to be called whenever a fatal error occurs. */  void (* errf)(void *arg, err_t err);#endif /* LWIP_CALLBACK_API */  /* idle time before KEEPALIVE is sent */  u32_t keepalive;    /* KEEPALIVE counter */  u8_t keep_cnt;};struct tcp_pcb_listen {  /* Common members of all PCB types */  IP_PCB;/* Protocol specific PCB members */  struct tcp_pcb_listen *next;   /* for the linked list */    /* Even if state is obviously LISTEN this is here for   * field compatibility with tpc_pcb to which it is cast sometimes   * Until a cleaner solution emerges this is here.FIXME   */   enum tcp_state state;   /* TCP state */  u8_t prio;  void *callback_arg;    u16_t local_port; #if LWIP_CALLBACK_API  /* Function to call when a listener has been connected. */  err_t (* accept)(void *arg, struct tcp_pcb *newpcb, err_t err);#endif /* LWIP_CALLBACK_API */};#if LWIP_EVENT_APIenum lwip_event {  LWIP_EVENT_ACCEPT,  LWIP_EVENT_SENT,  LWIP_EVENT_RECV,  LWIP_EVENT_CONNECTED,  LWIP_EVENT_POLL,  LWIP_EVENT_ERR};err_t lwip_tcp_event(void *arg, struct tcp_pcb *pcb,         enum lwip_event,         struct pbuf *p,         u16_t size,         err_t err);#define TCP_EVENT_ACCEPT(pcb,err,ret)    ret = lwip_tcp_event((pcb)->callback_arg, (pcb),\                LWIP_EVENT_ACCEPT, NULL, 0, err)#define TCP_EVENT_SENT(pcb,space,ret) ret = lwip_tcp_event((pcb)->callback_arg, (pcb),\                   LWIP_EVENT_SENT, NULL, space, ERR_OK)#define TCP_EVENT_RECV(pcb,p,err,ret) ret = lwip_tcp_event((pcb)->callback_arg, (pcb),\                LWIP_EVENT_RECV, (p), 0, (err))#define TCP_EVENT_CONNECTED(pcb,err,ret) ret = lwip_tcp_event((pcb)->callback_arg, (pcb),\                LWIP_EVENT_CONNECTED, NULL, 0, (err))#define TCP_EVENT_POLL(pcb,ret)       ret = lwip_tcp_event((pcb)->callback_arg, (pcb),\                LWIP_EVENT_POLL, NULL, 0, ERR_OK)#define TCP_EVENT_ERR(errf,arg,err)  lwip_tcp_event((arg), NULL, \                LWIP_EVENT_ERR, NULL, 0, (err))#else /* LWIP_EVENT_API */#define TCP_EVENT_ACCEPT(pcb,err,ret)     \                        if((pcb)->accept != NULL) \                        (ret = (pcb)->accept((pcb)->callback_arg,(pcb),(err)))#define TCP_EVENT_SENT(pcb,space,ret) \                        if((pcb)->sent != NULL) \                        (ret = (pcb)->sent((pcb)->callback_arg,(pcb),(space)))#define TCP_EVENT_RECV(pcb,p,err,ret) \                        if((pcb)->recv != NULL) \                        { ret = (pcb)->recv((pcb)->callback_arg,(pcb),(p),(err)); } else { \                          if (p) pbuf_free(p); }#define TCP_EVENT_CONNECTED(pcb,err,ret) \                        if((pcb)->connected != NULL) \                        (ret = (pcb)->connected((pcb)->callback_arg,(pcb),(err)))#define TCP_EVENT_POLL(pcb,ret) \                        if((pcb)->poll != NULL) \                        (ret = (pcb)->poll((pcb)->callback_arg,(pcb)))#define TCP_EVENT_ERR(errf,arg,err) \                        if((errf) != NULL) \                        (errf)((arg),(err))#endif /* LWIP_EVENT_API *//* This structure represents a TCP segment on the unsent and unacked queues */struct tcp_seg {  struct tcp_seg *next;    /* used when putting segements on a queue */  struct pbuf *p;          /* buffer containing data + TCP header */  void *dataptr;           /* pointer to the TCP data in the pbuf */  u16_t len;               /* the TCP length of this segment */  struct tcp_hdr *tcphdr;  /* the TCP header */};/* Internal functions and global variables: */struct tcp_pcb *tcp_pcb_copy(struct tcp_pcb *pcb);void tcp_pcb_purge(struct tcp_pcb *pcb);void tcp_pcb_remove(struct tcp_pcb **pcblist, struct tcp_pcb *pcb);u8_t tcp_segs_free(struct tcp_seg *seg);u8_t tcp_seg_free(struct tcp_seg *seg);struct tcp_seg *tcp_seg_copy(struct tcp_seg *seg);#define tcp_ack(pcb)     if((pcb)->flags & TF_ACK_DELAY) { \                            (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)err_t tcp_send_ctrl(struct tcp_pcb *pcb, u8_t flags);err_t tcp_enqueue(struct tcp_pcb *pcb, void *dataptr, u16_t len,    u8_t flags, u8_t copy,                u8_t *optdata, u8_t optlen);void tcp_rexmit_seg(struct tcp_pcb *pcb, struct tcp_seg *seg);void tcp_rst(u32_t seqno, u32_t ackno,       struct ip_addr *local_ip, struct ip_addr *remote_ip,       u16_t local_port, u16_t remote_port);u32_t tcp_next_iss(void);void tcp_keepalive(struct tcp_pcb *pcb);extern struct tcp_pcb *tcp_input_pcb;extern u32_t tcp_ticks;#if TCP_DEBUG || TCP_INPUT_DEBUG || TCP_OUTPUT_DEBUGvoid tcp_debug_print(struct tcp_hdr *tcphdr);void tcp_debug_print_flags(u8_t flags);void tcp_debug_print_state(enum tcp_state s);void tcp_debug_print_pcbs(void);s16_t tcp_pcbs_sane(void);#else#  define tcp_debug_print(tcphdr)#  define tcp_debug_print_flags(flags)#  define tcp_debug_print_state(s)#  define tcp_debug_print_pcbs()#  define tcp_pcbs_sane() 1#endif /* TCP_DEBUG */#if NO_SYS#define tcp_timer_needed()#elsevoid tcp_timer_needed(void);#endif/* The TCP PCB lists. */union tcp_listen_pcbs_t { /* List of all TCP PCBs in LISTEN state. */	struct tcp_pcb_listen *listen_pcbs; 	struct tcp_pcb *pcbs;};extern union tcp_listen_pcbs_t tcp_listen_pcbs;extern struct tcp_pcb *tcp_active_pcbs;  /* List of all TCP PCBs that are in a              state in which they accept or send              data. */extern struct tcp_pcb *tcp_tw_pcbs;      /* List of all TCP PCBs in TIME-WAIT. */extern struct tcp_pcb *tcp_tmp_pcb;      /* Only used for temporary storage. *//* Axioms about the above lists:      1) Every TCP PCB that is not CLOSED is in one of the lists.   2) A PCB is only in one of the lists.   3) All PCBs in the tcp_listen_pcbs list is in LISTEN state.   4) All PCBs in the tcp_tw_pcbs list is in TIME-WAIT state.*//* Define two macros, TCP_REG and TCP_RMV that registers a TCP PCB   with a PCB list or removes a PCB from a list, respectively. */#if 0#define TCP_REG(pcbs, npcb) do {\                            LWIP_DEBUGF(TCP_DEBUG, ("TCP_REG %p local port %d\n", npcb, npcb->local_port)); \                            for(tcp_tmp_pcb = *pcbs; \          tcp_tmp_pcb != NULL; \        tcp_tmp_pcb = tcp_tmp_pcb->next) { \                                LWIP_ASSERT("TCP_REG: already registered\n", tcp_tmp_pcb != npcb); \                            } \                            LWIP_ASSERT("TCP_REG: pcb->state != CLOSED", npcb->state != CLOSED); \                            npcb->next = *pcbs; \                            LWIP_ASSERT("TCP_REG: npcb->next != npcb", npcb->next != npcb); \                            *(pcbs) = npcb; \                            LWIP_ASSERT("TCP_RMV: tcp_pcbs sane", tcp_pcbs_sane()); \              tcp_timer_needed(); \                            } while(0)#define TCP_RMV(pcbs, npcb) do { \                            LWIP_ASSERT("TCP_RMV: pcbs != NULL", *pcbs != NULL); \                            LWIP_DEBUGF(TCP_DEBUG, ("TCP_RMV: removing %p from %p\n", npcb, *pcbs)); \                            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; \                            LWIP_ASSERT("TCP_RMV: tcp_pcbs sane", tcp_pcbs_sane()); \                            LWIP_DEBUGF(TCP_DEBUG, ("TCP_RMV: removed %p from %p\n", npcb, *pcbs)); \                            } while(0)#else /* LWIP_DEBUG */#define TCP_REG(pcbs, npcb) do { \                            npcb->next = *pcbs; \                            *(pcbs) = npcb; \              tcp_timer_needed(); \                            } 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)#endif /* LWIP_DEBUG */#endif /* __LWIP_TCP_H__ */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本精品一级二级| 欧美日韩亚洲不卡| 亚洲不卡一区二区三区| 久久综合九色综合欧美就去吻| 成人高清伦理免费影院在线观看| 日韩精品一二区| 亚洲欧洲av在线| 久久综合色天天久久综合图片| 在线观看91视频| 成人av在线资源网站| 奇米精品一区二区三区在线观看一| 国产精品久久久久久久久久免费看 | 在线观看国产日韩| 国产1区2区3区精品美女| 毛片不卡一区二区| 亚洲国产一二三| 国产精品传媒入口麻豆| 久久综合九色综合97_久久久| 欧美优质美女网站| 色综合久久久久综合体| 粉嫩绯色av一区二区在线观看 | 91精品国产综合久久精品性色| 成人手机电影网| 黄色日韩三级电影| 蜜桃av噜噜一区| 亚洲18影院在线观看| 成人免费一区二区三区视频| 欧美国产97人人爽人人喊| 欧美精品一区二区三区蜜桃| 欧美一区三区四区| 欧美精品丝袜中出| 在线观看成人免费视频| 91丝袜美女网| 91亚洲午夜精品久久久久久| 成人国产电影网| 不卡欧美aaaaa| 成人理论电影网| 国产69精品久久久久777| 国产传媒一区在线| 国产精品一二三区在线| 黑人精品欧美一区二区蜜桃| 老司机午夜精品| 久久av老司机精品网站导航| 卡一卡二国产精品| 青青草精品视频| 秋霞影院一区二区| 免费精品视频最新在线| 蜜臀av亚洲一区中文字幕| 蜜臀av一区二区在线观看| 久久成人久久爱| 国产精品99久久久久久有的能看 | 欧洲精品中文字幕| 欧美亚洲国产怡红院影院| 欧美性猛片aaaaaaa做受| 欧美色窝79yyyycom| 成人a区在线观看| 一本高清dvd不卡在线观看| 日本福利一区二区| 欧洲激情一区二区| 日韩视频免费观看高清完整版 | 中文字幕av不卡| 中文一区二区完整视频在线观看 | 亚洲h动漫在线| 另类的小说在线视频另类成人小视频在线| 久久国产精品一区二区| 国产精品一区二区三区乱码| 99在线视频精品| 一本一道综合狠狠老| 欧美三级视频在线| 日韩欧美一区电影| 国产亚洲综合在线| 一区二区三区四区亚洲| 免费不卡在线视频| 大胆欧美人体老妇| 在线免费观看日本一区| 欧美一级二级三级乱码| 久久精品人人爽人人爽| 亚洲综合偷拍欧美一区色| 日本欧美久久久久免费播放网| 免费看欧美女人艹b| 成人精品高清在线| 欧美日本在线看| 久久久www成人免费无遮挡大片| 一区在线中文字幕| 五月天丁香久久| 国产成人在线网站| 欧美亚洲综合久久| 国产情人综合久久777777| 亚洲影院久久精品| 福利一区二区在线| 欧美精品v国产精品v日韩精品| 国产亚洲综合在线| 丝袜诱惑制服诱惑色一区在线观看| 国产精品主播直播| 56国语精品自产拍在线观看| 国产精品久久久久国产精品日日| 五月天激情综合| 色综合中文综合网| av在线不卡电影| 日韩无一区二区| 一级精品视频在线观看宜春院| 国产麻豆精品久久一二三| 欧美伊人精品成人久久综合97| 国产日产欧美一区二区视频| 午夜精彩视频在线观看不卡| av在线播放不卡| www国产成人| 日韩国产欧美三级| 色欧美片视频在线观看| 久久久www成人免费毛片麻豆 | 亚洲狠狠丁香婷婷综合久久久| 狠狠v欧美v日韩v亚洲ⅴ| 欧美日韩一区成人| 亚洲欧美激情视频在线观看一区二区三区 | 首页国产欧美日韩丝袜| 99久久综合精品| 久久久不卡网国产精品一区| 免费观看在线色综合| 在线一区二区观看| 自拍偷自拍亚洲精品播放| 国产麻豆精品theporn| 日韩欧美亚洲国产精品字幕久久久| 亚洲一区二区av在线| 99久久精品免费精品国产| 国产亚洲精品7777| 精品一区二区三区的国产在线播放| 欧美另类高清zo欧美| 亚洲一区二区四区蜜桃| 91在线观看高清| 综合网在线视频| av在线一区二区| 中文字幕亚洲在| gogogo免费视频观看亚洲一| 国产日韩成人精品| 国产·精品毛片| 国产女人18毛片水真多成人如厕| 国产一区二区三区在线观看免费| 日韩久久免费av| 久久99精品久久久久| 日韩视频免费观看高清完整版在线观看| 亚洲一区二区不卡免费| 欧美日韩精品久久久| 亚洲成av人**亚洲成av**| 欧美日韩aaa| 蜜桃久久av一区| 日韩欧美成人激情| 久99久精品视频免费观看| 精品国产亚洲在线| 国产在线乱码一区二区三区| 久久精品免视看| 成人app下载| 亚洲人成电影网站色mp4| 欧美最猛性xxxxx直播| 天堂午夜影视日韩欧美一区二区| 欧美一区二区三区电影| 狠狠色丁香九九婷婷综合五月| 久久久久亚洲蜜桃| 91色视频在线| 午夜视频在线观看一区二区三区| 欧美日韩和欧美的一区二区| 免费在线观看成人| 国产情人综合久久777777| 色先锋aa成人| 日韩av电影天堂| 久久精品一区八戒影视| 99精品国产视频| 五月激情综合网| 国产亚洲一区二区在线观看| 成人精品小蝌蚪| 香蕉影视欧美成人| 亚洲精品一区在线观看| 99久久精品情趣| 免费观看久久久4p| 久久久激情视频| 欧美在线观看禁18| 另类专区欧美蜜桃臀第一页| 国产精品电影院| 538prom精品视频线放| 国产精品一区二区91| 一区二区三区欧美激情| 欧美一区二区三区四区在线观看 | 风间由美性色一区二区三区| 亚洲一级二级在线| 久久久亚洲精华液精华液精华液| 91免费国产在线| 蜜臀久久99精品久久久久久9| 中文幕一区二区三区久久蜜桃| 在线一区二区三区四区五区| 精品一区二区三区免费| 洋洋av久久久久久久一区| 精品国一区二区三区| 色婷婷久久久综合中文字幕| 国产做a爰片久久毛片| 一区二区三区欧美日| 国产日韩欧美不卡| 欧美日本韩国一区| 白白色 亚洲乱淫| 久久er精品视频| 亚洲第一二三四区| 亚洲欧美在线观看|