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

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

?? uip.lst

?? 58enc28j06protuesuip09.rar
?? LST
?? 第 1 頁 / 共 5 頁
字號:
               udp_found:
C51 COMPILER V8.15   UIP                                                                   08/11/2009 15:07:52 PAGE 14  

                uip_len = uip_len - 28;
                uip_appdata = &uip_buf[UIP_LLH_LEN + 28];
                uip_flags = UIP_NEWDATA;
                uip_slen = 0;
                UIP_UDP_APPCALL();
               udp_send:
                if(uip_slen == 0) {
                  goto drop;      
                }
                uip_len = uip_slen + 28;
              
                BUF->len[0] = (uip_len >> 8);
                BUF->len[1] = (uip_len & 0xff);
                
                BUF->proto = UIP_PROTO_UDP;
              
                UDPBUF->udplen = HTONS(uip_slen + 8);
                UDPBUF->udpchksum = 0;
              #if UIP_UDP_CHECKSUMS 
                /* Calculate UDP checksum. */
                UDPBUF->udpchksum = ~(uip_udpchksum());
                if(UDPBUF->udpchksum == 0) {
                  UDPBUF->udpchksum = 0xffff;
                }
              #endif /* UIP_UDP_CHECKSUMS */
              
                BUF->srcport  = uip_udp_conn->lport;
                BUF->destport = uip_udp_conn->rport;
              
                BUF->srcipaddr[0] = uip_hostaddr[0];
                BUF->srcipaddr[1] = uip_hostaddr[1];
                BUF->destipaddr[0] = uip_udp_conn->ripaddr[0];
                BUF->destipaddr[1] = uip_udp_conn->ripaddr[1];
               
                uip_appdata = &uip_buf[UIP_LLH_LEN + 40];
                goto ip_send_nolen;
              #endif /* UIP_UDP */
 835   1        
 836   1        /* TCP input processing. */  
 837   1       tcp_input:
 838   1        UIP_STAT(++uip_stat.tcp.recv);
 839   1      
 840   1        /* Start of TCP input header processing code. */
 841   1        
 842   1        if(uip_tcpchksum() != 0xffff) {   /* Compute and check the TCP
 843   2                                             checksum. */
 844   2          UIP_STAT(++uip_stat.tcp.drop);
 845   2          UIP_STAT(++uip_stat.tcp.chkerr);
 846   2          Printf_String("\r\n[MSG:] tcp: bad checksum.");    
 847   2          goto drop;
 848   2        }
 849   1        
 850   1        /* Demultiplex this segment. */
 851   1        /* First check any active connections. */
 852   1        for(uip_connr = &uip_conns[0]; uip_connr < &uip_conns[UIP_CONNS]; ++uip_connr) {
 853   2          if(uip_connr->tcpstateflags != CLOSED &&
 854   2             BUF->destport == uip_connr->lport &&
 855   2             BUF->srcport == uip_connr->rport &&
 856   2             BUF->srcipaddr[0] == uip_connr->ripaddr[0] &&
 857   2             BUF->srcipaddr[1] == uip_connr->ripaddr[1]) {
 858   3            goto found;    
 859   3          }
C51 COMPILER V8.15   UIP                                                                   08/11/2009 15:07:52 PAGE 15  

 860   2        }
 861   1      
 862   1        /* If we didn't find and active connection that expected the packet,
 863   1           either this packet is an old duplicate, or this is a SYN packet
 864   1           destined for a connection in LISTEN. If the SYN flag isn't set,
 865   1           it is an old packet and we send a RST. */
 866   1        if((BUF->flags & TCP_CTL) != TCP_SYN)
 867   1          goto reset;
 868   1        
 869   1        tmp16 = BUF->destport;
 870   1        /* Next, check listening connections. */  
 871   1        for(c = 0; c < UIP_LISTENPORTS; ++c) {
 872   2          if(tmp16 == uip_listenports[c])
 873   2            goto found_listen;
 874   2        }
 875   1        
 876   1        /* No matching connection found, so we send a RST packet. */
 877   1        UIP_STAT(++uip_stat.tcp.synrst);
 878   1       reset:
 879   1      
 880   1        /* We do not send resets in response to resets. */
 881   1        if(BUF->flags & TCP_RST) 
 882   1          goto drop;
 883   1      
 884   1        UIP_STAT(++uip_stat.tcp.rst);
 885   1        
 886   1        BUF->flags = TCP_RST | TCP_ACK;
 887   1        uip_len = 40;
 888   1        BUF->tcpoffset = 5 << 4;
 889   1      
 890   1        /* Flip the seqno and ackno fields in the TCP header. */
 891   1        c = BUF->seqno[3];
 892   1        BUF->seqno[3] = BUF->ackno[3];  
 893   1        BUF->ackno[3] = c;
 894   1        
 895   1        c = BUF->seqno[2];
 896   1        BUF->seqno[2] = BUF->ackno[2];  
 897   1        BUF->ackno[2] = c;
 898   1        
 899   1        c = BUF->seqno[1];
 900   1        BUF->seqno[1] = BUF->ackno[1];
 901   1        BUF->ackno[1] = c;
 902   1        
 903   1        c = BUF->seqno[0];
 904   1        BUF->seqno[0] = BUF->ackno[0];  
 905   1        BUF->ackno[0] = c;
 906   1      
 907   1        /* We also have to increase the sequence number we are
 908   1           acknowledging. If the least significant byte overflowed, we need
 909   1           to propagate the carry to the other bytes as well. */
 910   1        if(++BUF->ackno[3] == 0) {
 911   2          if(++BUF->ackno[2] == 0) {
 912   3            if(++BUF->ackno[1] == 0) {
 913   4              ++BUF->ackno[0];
 914   4            }
 915   3          }
 916   2        }
 917   1       
 918   1        /* Swap port numbers. */
 919   1        tmp16 = BUF->srcport;
 920   1        BUF->srcport = BUF->destport;
 921   1        BUF->destport = tmp16;
C51 COMPILER V8.15   UIP                                                                   08/11/2009 15:07:52 PAGE 16  

 922   1        
 923   1        /* Swap IP addresses. */
 924   1        tmp16 = BUF->destipaddr[0];
 925   1        BUF->destipaddr[0] = BUF->srcipaddr[0];
 926   1        BUF->srcipaddr[0] = tmp16;
 927   1        tmp16 = BUF->destipaddr[1];
 928   1        BUF->destipaddr[1] = BUF->srcipaddr[1];
 929   1        BUF->srcipaddr[1] = tmp16;
 930   1      
 931   1        
 932   1        /* And send out the RST packet! */
 933   1        goto tcp_send_noconn;
 934   1      
 935   1        /* This label will be jumped to if we matched the incoming packet
 936   1           with a connection in LISTEN. In that case, we should create a new
 937   1           connection and send a SYNACK in return. */
 938   1       found_listen:
 939   1        /* First we check if there are any connections avaliable. Unused
 940   1           connections are kept in the same table as used connections, but
 941   1           unused ones have the tcpstate set to CLOSED. Also, connections in
 942   1           TIME_WAIT are kept track of and we'll use the oldest one if no
 943   1           CLOSED connections are found. Thanks to Eddie C. Dost for a very
 944   1           nice algorithm for the TIME_WAIT search. */
 945   1        uip_connr = 0;
 946   1        for(c = 0; c < UIP_CONNS; ++c) {
 947   2          if(uip_conns[c].tcpstateflags == CLOSED) {
 948   3            uip_connr = &uip_conns[c];
 949   3            break;
 950   3          }
 951   2          if(uip_conns[c].tcpstateflags == TIME_WAIT) {
 952   3            if(uip_connr == 0 ||
 953   3               uip_conns[c].timer > uip_connr->timer) {
 954   4              uip_connr = &uip_conns[c];
 955   4            }
 956   3          }
 957   2        }
 958   1      
 959   1        if(uip_connr == 0) {
 960   2          /* All connections are used already, we drop packet and hope that
 961   2             the remote end will retransmit the packet at a time when we
 962   2             have more spare connections. */
 963   2          UIP_STAT(++uip_stat.tcp.syndrop);
 964   2          Printf_String("\r\n[MSG:] tcp: found no unused connections.");
 965   2          goto drop;
 966   2        }
 967   1        uip_conn = uip_connr;
 968   1        
 969   1        /* Fill in the necessary fields for the new connection. */
 970   1        uip_connr->rto = uip_connr->timer = UIP_RTO;
 971   1        uip_connr->sa = 0;
 972   1        uip_connr->sv = 4;  
 973   1        uip_connr->nrtx = 0;
 974   1        uip_connr->lport = BUF->destport;
 975   1        uip_connr->rport = BUF->srcport;
 976   1        uip_connr->ripaddr[0] = BUF->srcipaddr[0];
 977   1        uip_connr->ripaddr[1] = BUF->srcipaddr[1];
 978   1        uip_connr->tcpstateflags = SYN_RCVD;
 979   1      
 980   1        uip_connr->snd_nxt[0] = iss[0];
 981   1        uip_connr->snd_nxt[1] = iss[1];
 982   1        uip_connr->snd_nxt[2] = iss[2];
 983   1        uip_connr->snd_nxt[3] = iss[3];
C51 COMPILER V8.15   UIP                                                                   08/11/2009 15:07:52 PAGE 17  

 984   1        uip_connr->len = 1;
 985   1      
 986   1        /* rcv_nxt should be the seqno from the incoming packet + 1. */
 987   1        uip_connr->rcv_nxt[3] = BUF->seqno[3];
 988   1        uip_connr->rcv_nxt[2] = BUF->seqno[2];
 989   1        uip_connr->rcv_nxt[1] = BUF->seqno[1];
 990   1        uip_connr->rcv_nxt[0] = BUF->seqno[0];
 991   1        uip_add_rcv_nxt(1);
 992   1      
 993   1        /* Parse the TCP MSS option, if present. */
 994   1        if((BUF->tcpoffset & 0xf0) > 0x50) {
 995   2          for(c = 0; c < ((BUF->tcpoffset >> 4) - 5) << 2 ;) {
 996   3            opt = uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + c];
 997   3            if(opt == 0x00) {
 998   4              /* End of options. */   
 999   4              break;
1000   4            } else if(opt == 0x01) {
1001   4              ++c;
1002   4              /* NOP option. */
1003   4            } else if(opt == 0x02 &&
1004   3                      uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 1 + c] == 0x04) {
1005   4              /* An MSS option with the right option length. */       
1006   4              tmp16 = ((u16_t)uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 2 + c] << 8) |
1007   4                (u16_t)uip_buf[40 + UIP_LLH_LEN + 3 + c];
1008   4              uip_connr->initialmss = uip_connr->mss =
1009   4                tmp16 > UIP_TCP_MSS? UIP_TCP_MSS: tmp16;
1010   4              
1011   4              /* And we are done processing options. */
1012   4              break;
1013   4            } else {
1014   4              /* All other options have a length field, so that we easily
1015   4                 can skip past them. */
1016   4              if(uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 1 + c] == 0) {
1017   5                /* If the length field is zero, the options are malformed
1018   5                   and we don't process them further. */
1019   5                break;
1020   5              }
1021   4              c += uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 1 + c];
1022   4            }      
1023   3          }
1024   2        }
1025   1        
1026   1        /* Our response will be a SYNACK. */
1027   1      #if UIP_ACTIVE_OPEN
               tcp_send_synack:
                BUF->flags = TCP_ACK;    
                
               tcp_send_syn:
                BUF->flags |= TCP_SYN;    
              #else /* UIP_ACTIVE_OPEN */
1034   1       tcp_send_synack:
1035   1        BUF->flags = TCP_SYN | TCP_ACK;    
1036   1      #endif /* UIP_ACTIVE_OPEN */
1037   1        
1038   1        /* We send out the TCP Maximum Segment Size option with our
1039   1           SYNACK. */
1040   1        BUF->optdata[0] = 2;
1041   1        BUF->optdata[1] = 4;
1042   1        BUF->optdata[2] = (UIP_TCP_MSS) / 256;
1043   1        BUF->optdata[3] = (UIP_TCP_MSS) & 255;
1044   1        uip_len = 44;
1045   1        BUF->tcpoffset = 6 << 4;
C51 COMPILER V8.15   UIP                                                                   08/11/2009 15:07:52 PAGE 18  

1046   1        goto tcp_send;
1047   1      
1048   1        /* This label will be jumped to if we found an active connection. */
1049   1       found:
1050   1        uip_conn = uip_connr;
1051   1        uip_flags = 0;
1052   1      
1053   1        /* We do a very naive form of TCP reset processing; we just accept
1054   1           any RST and kill our connection. We should in fact check if the
1055   1           sequence number of this reset is wihtin our advertised window
1056   1           before we accept the reset. */
1057   1        if(BUF->flags & TCP_RST) {
1058   2          uip_connr->tcpstateflags = CLOSED;
1059   2          UIP_LOG("\r\n[MSG:] tcp: got reset, aborting connection.");
1060   2          uip_flags = UIP_ABORT;
1061   2          UIP_APPCALL();
1062   2          goto drop;
1063   2        }      

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合久久99| 日韩国产在线观看| 欧美日韩精品综合在线| 狠狠狠色丁香婷婷综合久久五月| 亚洲女与黑人做爰| 中文一区在线播放| 国产精品人成在线观看免费| 久久这里只精品最新地址| 亚洲人成小说网站色在线| 久久99精品国产| 国产高清视频一区| 丁香六月久久综合狠狠色| 国产在线精品一区二区夜色 | 成人免费电影视频| 制服丝袜av成人在线看| 欧美丝袜第三区| 欧美三级电影网站| 国产精品丝袜在线| 日产国产欧美视频一区精品| 色噜噜狠狠一区二区三区果冻| 91免费小视频| 欧美性videosxxxxx| 亚洲日本电影在线| 亚洲va韩国va欧美va精品| 天天色 色综合| 国产一区二区三区免费看| 欧美一卡二卡在线| 久久精品亚洲国产奇米99| 国产精品电影一区二区| 亚洲伊人伊色伊影伊综合网| 日本亚洲欧美天堂免费| 777亚洲妇女| 日韩精品国产欧美| 不卡一区二区中文字幕| 欧美性大战xxxxx久久久| 亚洲另类春色国产| 国产中文字幕一区| 精品国产一区二区三区久久久蜜月| 国产亚洲精品中文字幕| 国产激情91久久精品导航| 久久久久久久久97黄色工厂| 亚洲另类色综合网站| 欧美中文字幕一区二区三区| 26uuu国产一区二区三区| 久久99国产精品尤物| 久久综合久久久久88| 粉嫩一区二区三区在线看| 日韩一区二区在线观看视频播放| 国产日本欧洲亚洲| 男女男精品视频| 色国产精品一区在线观看| 亚洲乱码国产乱码精品精小说| 一本久久综合亚洲鲁鲁五月天| 日韩欧美综合一区| 极品美女销魂一区二区三区免费| 精品免费99久久| 首页国产丝袜综合| 日韩你懂的电影在线观看| 亚洲精品中文字幕乱码三区| 欧美肥妇free| 亚洲va欧美va天堂v国产综合| 777xxx欧美| 国产成人亚洲综合a∨婷婷图片| 亚洲欧洲精品成人久久奇米网| 国产在线视视频有精品| 中文字幕av一区二区三区高| 在线观看免费视频综合| 美女网站视频久久| 欧美一级久久久久久久大片| 国产一区二区不卡老阿姨| 亚洲主播在线播放| 久久一区二区三区国产精品| 91麻豆福利精品推荐| 蜜桃一区二区三区在线观看| 国产精品久久久一本精品 | 大胆亚洲人体视频| 爽好久久久欧美精品| 国产精品久久看| 欧美成人性战久久| 欧美三级视频在线| 欧美日韩国产123区| 国产精品18久久久久久久网站| 欧美精品精品一区| 成人综合婷婷国产精品久久蜜臀| 午夜激情久久久| 亚洲国产精品传媒在线观看| 91精品在线麻豆| 成人久久视频在线观看| 美日韩一区二区| 亚洲综合色成人| 中文字幕制服丝袜成人av| 欧美一级免费大片| 欧美日韩综合不卡| 99免费精品视频| 亚洲一区二区三区爽爽爽爽爽| 久久久久99精品一区| 日韩欧美高清dvd碟片| 欧美群妇大交群的观看方式| 91麻豆免费看片| 成人午夜又粗又硬又大| 国内精品国产三级国产a久久| 亚洲bt欧美bt精品| 亚洲成人在线免费| 亚洲综合自拍偷拍| 欧美精品123区| 欧美亚洲一区二区在线| 一本一道波多野结衣一区二区| 国产精品69久久久久水密桃| 久久99国产精品久久99果冻传媒 | 中文字幕欧美日本乱码一线二线| 日韩一级片网站| 欧美久久久久久久久久| 日本精品免费观看高清观看| 99免费精品在线| 91蜜桃婷婷狠狠久久综合9色| 成人一级黄色片| 国产.欧美.日韩| 成人精品高清在线| 波多野结衣的一区二区三区| thepron国产精品| 一本一道波多野结衣一区二区| 色综合久久中文字幕综合网| 91尤物视频在线观看| 在线不卡中文字幕播放| 日韩亚洲欧美中文三级| 日韩精品一区二区三区中文不卡| 精品国产污污免费网站入口 | 欧美一区二区三区影视| 777奇米四色成人影色区| 91精品欧美综合在线观看最新| 欧美精品日韩精品| 欧美电影免费提供在线观看| 精品剧情在线观看| 中文一区一区三区高中清不卡| 国产精品大尺度| 亚洲sss视频在线视频| 青青草成人在线观看| 国产成人综合网站| 91视频在线看| 欧美一卡二卡在线观看| 久久久.com| 亚洲在线免费播放| 美女视频免费一区| 成人动漫视频在线| 欧美日韩一区二区三区视频| 欧美电影免费观看完整版| 国产精品久久久爽爽爽麻豆色哟哟 | 亚洲一区二区三区在线播放| 另类小说图片综合网| 亚洲在线视频网站| 久久成人久久爱| 91小宝寻花一区二区三区| 欧美日韩国产不卡| 中文字幕av一区二区三区高| 亚洲h动漫在线| 成人一区二区视频| 欧美日韩aaaaaa| 国产精品久久久99| 美女在线一区二区| 97国产精品videossex| eeuss鲁片一区二区三区| 欧美精品免费视频| 国产三级精品三级| 日韩av一区二| 91网站最新地址| 久久久777精品电影网影网| 亚洲国产精品影院| 婷婷国产v国产偷v亚洲高清| 国产成人综合在线播放| 欧美日韩成人在线一区| 国产精品国模大尺度视频| 日本亚洲天堂网| 欧洲av一区二区嗯嗯嗯啊| 久久亚洲综合色| 婷婷六月综合亚洲| 91日韩精品一区| 国产亚洲va综合人人澡精品| 天天免费综合色| 欧美在线看片a免费观看| 日本一区二区三区国色天香| 免费三级欧美电影| 欧美日韩一区二区三区高清 | 在线日韩国产精品| 中文字幕国产一区二区| 精品一区二区三区免费观看| 欧美美女直播网站| 亚洲一区二区三区爽爽爽爽爽| jizzjizzjizz欧美| 国产日韩欧美精品综合| 国产乱人伦偷精品视频免下载| 日韩精品影音先锋| 日本成人在线电影网| 精品视频一区 二区 三区| 亚洲精品va在线观看| 91在线视频在线| 亚洲欧美综合另类在线卡通| eeuss鲁一区二区三区| 成人欧美一区二区三区黑人麻豆 | 最新日韩在线视频| 99久久婷婷国产精品综合|