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

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

?? uip.lst

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


C51 COMPILER V8.15, COMPILATION OF MODULE UIP
OBJECT MODULE PLACED IN .\debug\uip.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE uip.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\debug\uip.lst) OBJECT(.\debug
                    -\uip.obj)

line level    source

   1          /**
   2           * \addtogroup uip
   3           * @{
   4           */
   5          
   6          /**
   7           * \file
   8           * The uIP TCP/IP stack code.
   9           * \author Adam Dunkels <adam@dunkels.com>
  10           */
  11          
  12          /*
  13           * Copyright (c) 2001-2003, Adam Dunkels.
  14           * All rights reserved. 
  15           *
  16           * Redistribution and use in source and binary forms, with or without 
  17           * modification, are permitted provided that the following conditions 
  18           * are met: 
  19           * 1. Redistributions of source code must retain the above copyright 
  20           *    notice, this list of conditions and the following disclaimer. 
  21           * 2. Redistributions in binary form must reproduce the above copyright 
  22           *    notice, this list of conditions and the following disclaimer in the 
  23           *    documentation and/or other materials provided with the distribution. 
  24           * 3. The name of the author may not be used to endorse or promote
  25           *    products derived from this software without specific prior
  26           *    written permission.  
  27           *
  28           * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
  29           * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  30           * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  31           * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
  32           * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  33           * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
  34           * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  35           * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  36           * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
  37           * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  38           * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
  39           *
  40           * This file is part of the uIP TCP/IP stack.
  41           *
  42           * $Id: uip.c,v 1.62.2.10 2003/10/07 13:23:01 adam Exp $
  43           *
  44           */
  45          
  46          /*
  47          This is a small implementation of the IP and TCP protocols (as well as
  48          some basic ICMP stuff). The implementation couples the IP, TCP and the
  49          application layers very tightly. To keep the size of the compiled code
  50          down, this code also features heavy usage of the goto statement.
  51          
  52          The principle is that we have a small buffer, called the uip_buf, in
  53          which the device driver puts an incoming packet. The TCP/IP stack
  54          parses the headers in the packet, and calls upon the application. If
C51 COMPILER V8.15   UIP                                                                   08/11/2009 15:07:52 PAGE 2   

  55          the remote host has sent data to the application, this data is present
  56          in the uip_buf and the application read the data from there. It is up
  57          to the application to put this data into a byte stream if needed. The
  58          application will not be fed with data that is out of sequence.
  59          
  60          If the application whishes to send data to the peer, it should put its
  61          data into the uip_buf, 40 bytes from the start of the buffer. The
  62          TCP/IP stack will calculate the checksums, and fill in the necessary
  63          header fields and finally send the packet back to the peer.
  64          */
  65          
  66          #include "uip.h"
  67          #include "uipopt.h"
  68          #include "uip_arch.h"
  69          #include "uart.h"
  70          #include "myopt.h"
  71          /*-----------------------------------------------------------------------------------*/
  72          /* Variable definitions. */
  73          
  74          
  75          /* The IP address of this host. If it is defined to be fixed (by setting UIP_FIXEDADDR to 1 in uipopt.h), 
             -the address is set here. Otherwise, the address */
  76          #if UIP_FIXEDADDR > 0
  77          const u16_t uip_hostaddr[2] =
  78            {HTONS((UIP_IPADDR0 << 8) | UIP_IPADDR1),
  79             HTONS((UIP_IPADDR2 << 8) | UIP_IPADDR3)};
  80          const u16_t uip_arp_draddr[2] =
  81            {HTONS((UIP_DRIPADDR0 << 8) | UIP_DRIPADDR1),
  82             HTONS((UIP_DRIPADDR2 << 8) | UIP_DRIPADDR3)};
  83          const u16_t uip_arp_netmask[2] =
  84            {HTONS((UIP_NETMASK0 << 8) | UIP_NETMASK1),
  85             HTONS((UIP_NETMASK2 << 8) | UIP_NETMASK3)};
  86          #else
              u16_t uip_hostaddr[2];       
              u16_t uip_arp_draddr[2], uip_arp_netmask[2];
              #endif /* UIP_FIXEDADDR */
  90          
  91          u8_t uip_buf[UIP_BUFSIZE+2];   /* The packet buffer that contains
  92                                          incoming packets. */
  93          volatile u8_t *uip_appdata;  /* The uip_appdata pointer points to
  94                                          application data. */
  95          volatile u8_t *uip_sappdata;  /* The uip_appdata pointer points to the
  96                                           application data which is to be sent. */
  97          #if UIP_URGDATA > 0
  98          volatile u8_t *uip_urgdata;  /* The uip_urgdata pointer points to
  99                                          urgent data (out-of-band data), if
 100                                          present. */
 101          volatile u8_t uip_urglen, uip_surglen;
 102          #endif /* UIP_URGDATA > 0 */
 103          
 104          volatile u16_t uip_len, uip_slen;
 105                                       /* The uip_len is either 8 or 16 bits,
 106                                          depending on the maximum packet
 107                                          size. */
 108          
 109          volatile u8_t uip_flags;     /* The uip_flags variable is used for
 110                                          communication between the TCP/IP stack
 111                                          and the application program. */
 112          struct uip_conn *uip_conn;   /* uip_conn always points to the current
 113                                          connection. */
 114          
 115          struct uip_conn uip_conns[UIP_CONNS];
C51 COMPILER V8.15   UIP                                                                   08/11/2009 15:07:52 PAGE 3   

 116                                       /* The uip_conns array holds all TCP
 117                                          connections. */
 118          u16_t uip_listenports[UIP_LISTENPORTS];
 119                                       /* The uip_listenports list all currently
 120                                          listning ports. */
 121          #if UIP_UDP
              struct uip_udp_conn *uip_udp_conn;
              struct uip_udp_conn uip_udp_conns[UIP_UDP_CONNS];
              #endif /* UIP_UDP */
 125          
 126          
 127          static u16_t ipid;           /* Ths ipid variable is an increasing
 128                                          number that is used for the IP ID
 129                                          field. */
 130          
 131          static u8_t iss[4];          /* The iss variable is used for the TCP
 132                                          initial sequence number. */
 133          
 134          #if UIP_ACTIVE_OPEN
              static u16_t lastport;       /* Keeps track of the last port used for
                                              a new connection. */
              #endif /* UIP_ACTIVE_OPEN */
 138          
 139          /* Temporary variables. */
 140          volatile u8_t uip_acc32[4];
 141          static u8_t c, opt;
 142          static u16_t tmp16;
 143          
 144          /* Structures and definitions. */
 145          #define TCP_FIN 0x01
 146          #define TCP_SYN 0x02
 147          #define TCP_RST 0x04
 148          #define TCP_PSH 0x08
 149          #define TCP_ACK 0x10
 150          #define TCP_URG 0x20
 151          #define TCP_CTL 0x3f
 152          
 153          #define ICMP_ECHO_REPLY 0
 154          #define ICMP_ECHO       8     
 155          
 156          /* Macros. */
 157          #define BUF ((uip_tcpip_hdr *)&uip_buf[UIP_LLH_LEN])
 158          #define FBUF ((uip_tcpip_hdr *)&uip_reassbuf[0])
 159          #define ICMPBUF ((uip_icmpip_hdr *)&uip_buf[UIP_LLH_LEN])
 160          #define UDPBUF ((uip_udpip_hdr *)&uip_buf[UIP_LLH_LEN])
 161          
 162          #if UIP_STATISTICS == 1
 163          struct uip_stats uip_stat;
 164          #define UIP_STAT(s) s
 165          #else
              #define UIP_STAT(s)
              #endif /* UIP_STATISTICS == 1 */
 168          
 169          #if UIP_LOGGING == 1
              #include <stdio.h>
              void uip_log(char *msg);
              #define UIP_LOG(m) uip_log(m)
              #else
 174          #define UIP_LOG(m)
 175          #endif /* UIP_LOGGING == 1 */
 176          
 177          /*-----------------------------------------------------------------------------------*/
C51 COMPILER V8.15   UIP                                                                   08/11/2009 15:07:52 PAGE 4   

 178          void
 179          uip_init(void)
 180          {
 181   1        for(c = 0; c < UIP_LISTENPORTS; ++c) {
 182   2          uip_listenports[c] = 0;
 183   2        }
 184   1        for(c = 0; c < UIP_CONNS; ++c) {
 185   2          uip_conns[c].tcpstateflags = CLOSED;
 186   2        }
 187   1      #if UIP_ACTIVE_OPEN
                lastport = 1024;
              #endif /* UIP_ACTIVE_OPEN */
 190   1      
 191   1      #if UIP_UDP
                for(c = 0; c < UIP_UDP_CONNS; ++c) {
                  uip_udp_conns[c].lport = 0;
                }
              #endif /* UIP_UDP */
 196   1        
 197   1      
 198   1        /* IPv4 initialization. */
 199   1      #if UIP_FIXEDADDR == 0
                uip_hostaddr[0] = uip_hostaddr[1] = 0;
              #endif /* UIP_FIXEDADDR */
 202   1      
 203   1      }
 204          /*-----------------------------------------------------------------------------------*/
 205          #if UIP_ACTIVE_OPEN
              struct uip_conn *
              uip_connect(u16_t *ripaddr, u16_t rport)
              {
                register struct uip_conn *conn, *cconn;
                
                /* Find an unused local port. */
               again:
                ++lastport;
              
                if(lastport >= 32000) {
                  lastport = 4096;
                }
              
                /* Check if this port is already in use, and if so try to find
                   another one. */
                for(c = 0; c < UIP_CONNS; ++c) {
                  conn = &uip_conns[c];
                  if(conn->tcpstateflags != CLOSED &&
                     conn->lport == htons(lastport)) {
                    goto again;
                  }
                }
              
              
                conn = 0;
                for(c = 0; c < UIP_CONNS; ++c) {
                  cconn = &uip_conns[c]; 
                  if(cconn->tcpstateflags == CLOSED) {
                    conn = cconn;
                    break;
                  }
                  if(cconn->tcpstateflags == TIME_WAIT) {
                    if(conn == 0 ||
                       cconn->timer > uip_conn->timer) {
C51 COMPILER V8.15   UIP                                                                   08/11/2009 15:07:52 PAGE 5   

                      conn = cconn;
                    }
                  }
                }
              
                if(conn == 0) {
                  return 0;
                }
                
                conn->tcpstateflags = SYN_SENT;
              
                conn->snd_nxt[0] = iss[0];
                conn->snd_nxt[1] = iss[1];
                conn->snd_nxt[2] = iss[2];
                conn->snd_nxt[3] = iss[3];
              
                conn->initialmss = conn->mss = UIP_TCP_MSS;
                
                conn->len = 1;   /* TCP length of the SYN is one. */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区在线影院| 精品一区二区三区在线视频| 亚洲成人资源网| 韩国视频一区二区| 色美美综合视频| 久久视频一区二区| 一区二区三区久久久| 国产一区二区在线免费观看| 欧美日韩一区二区三区在线看| 国产欧美日韩三级| 日韩高清欧美激情| 欧美色中文字幕| 国产精品久久影院| 免费av网站大全久久| 欧美在线不卡一区| 国产精品福利一区二区三区| 国产一区福利在线| 日韩一区二区免费在线电影| 一区二区三区在线播| 播五月开心婷婷综合| 精品国产乱码久久久久久闺蜜| 亚洲福利电影网| 在线观看视频一区| 亚洲品质自拍视频网站| 成人av第一页| 中文字幕成人在线观看| 国产伦精品一区二区三区免费迷 | 国产在线看一区| 91精品国产色综合久久不卡电影 | 成人免费在线视频观看| 国产成人欧美日韩在线电影| 精品国产乱码久久久久久夜甘婷婷 | 欧美videofree性高清杂交| 午夜精品在线看| 欧美日韩亚洲综合| 日韩一区精品字幕| 在线观看91av| 蜜臀av性久久久久av蜜臀妖精| 欧美裸体一区二区三区| 天堂av在线一区| 欧美一区二区在线播放| 蜜臀av一区二区在线观看| 日韩欧美国产wwwww| 久久精品国产成人一区二区三区| 欧美电影免费观看高清完整版| 久久精品99国产精品| 精品国产麻豆免费人成网站| 国产高清成人在线| 国产精品久久久久影院老司| 91麻豆免费看| 午夜私人影院久久久久| 欧美一区二区三区电影| 国产在线播精品第三| 国产精品污网站| 色天天综合色天天久久| 日韩和欧美的一区| 欧美大片一区二区三区| 国产精品456| 亚洲美女偷拍久久| 欧美美女直播网站| 国产精品一区三区| 亚洲欧美日韩电影| 日韩小视频在线观看专区| 国产精品系列在线播放| 日韩久久一区二区| 日韩一卡二卡三卡四卡| 免费看欧美女人艹b| 亚洲国产高清aⅴ视频| 色综合天天综合狠狠| 久久激情综合网| 中文字幕在线一区| 91精品国产综合久久福利软件| 国产福利一区二区三区视频 | 亚洲国产经典视频| 在线电影院国产精品| 成人av小说网| 秋霞午夜av一区二区三区| 中文字幕精品在线不卡| 7777精品伊人久久久大香线蕉| 国产成人av福利| 日韩专区一卡二卡| **欧美大码日韩| 久久伊99综合婷婷久久伊| 欧美午夜精品一区二区蜜桃 | 久久精品久久99精品久久| 亚洲欧美日韩国产手机在线| 欧美tickle裸体挠脚心vk| 在线一区二区三区| 成人一区二区视频| 另类人妖一区二区av| 一区二区三区av电影| 国产精品视频一二| 精品国产乱码久久久久久久 | 日本成人中文字幕| 亚洲影院在线观看| 成人欧美一区二区三区白人| 久久综合五月天婷婷伊人| 欧美美女激情18p| 91免费国产在线| 高清在线不卡av| 国产一区二区中文字幕| 另类中文字幕网| 日本不卡一区二区三区| 亚洲在线成人精品| 亚洲免费成人av| 亚洲人成网站色在线观看| 久久久精品国产免费观看同学| 日韩免费一区二区三区在线播放| 欧美色图免费看| 色噜噜偷拍精品综合在线| 91亚洲永久精品| 91色在线porny| 99r国产精品| av电影天堂一区二区在线 | 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲国产成人精品视频| 亚洲一区在线播放| 亚洲国产精品一区二区久久恐怖片| 国产精品天美传媒| 国产精品三级电影| 国产精品亲子乱子伦xxxx裸| 国产精品人成在线观看免费| 国产女主播在线一区二区| 久久久久久久久岛国免费| 精品捆绑美女sm三区| 久久久久国产免费免费| 欧美精品一区二区三区蜜桃| 26uuu久久综合| 中文字幕乱码一区二区免费| 国产精品成人一区二区三区夜夜夜| 国产日韩欧美一区二区三区乱码| 国产日本欧美一区二区| 亚洲免费资源在线播放| 亚洲精品福利视频网站| 亚洲国产日韩精品| 蜜臀久久99精品久久久画质超高清 | 99国产精品久| 欧美乱妇一区二区三区不卡视频 | 欧美视频一区在线观看| 欧美专区亚洲专区| 欧美变态tickling挠脚心| 国产三级欧美三级日产三级99 | 日本乱人伦一区| 91精品国产色综合久久| 国产亚洲成av人在线观看导航 | 色婷婷av一区二区| 91精品国产综合久久久久久漫画| 久久久天堂av| 亚洲国产日韩综合久久精品| 久久99国产精品麻豆| 成+人+亚洲+综合天堂| 欧美日韩一级二级| 国产午夜亚洲精品理论片色戒| 亚洲视频免费在线观看| 六月婷婷色综合| 一本色道综合亚洲| 精品国产精品一区二区夜夜嗨| 国产精品福利一区| 美女网站一区二区| 91视频一区二区| 日韩一区二区三| 亚洲美女淫视频| 国产伦精一区二区三区| 欧美无砖砖区免费| 国产精品女人毛片| 热久久国产精品| 色综合色综合色综合| 久久久久久免费毛片精品| 亚洲高清视频在线| 91免费看片在线观看| 久久精品夜色噜噜亚洲a∨| 亚洲国产美国国产综合一区二区| 成人免费观看av| 欧美xxxxx牲另类人与| 亚洲电影中文字幕在线观看| kk眼镜猥琐国模调教系列一区二区| 欧美一卡二卡在线| 亚洲在线视频网站| 一本大道久久精品懂色aⅴ| 国产欧美日韩综合| 欧美a一区二区| 欧美日韩国产高清一区二区| 国产精品久久国产精麻豆99网站| 激情综合色播五月| 日韩欧美国产综合一区| 日韩福利电影在线观看| 色av成人天堂桃色av| 综合亚洲深深色噜噜狠狠网站| 精品无人码麻豆乱码1区2区| 555www色欧美视频| 亚洲国产另类精品专区| 在线看国产一区二区| 亚洲精品va在线观看| www.日韩av| 国产精品久久久久久户外露出| 成人深夜视频在线观看| 国产欧美精品一区aⅴ影院| 国产精品羞羞答答xxdd| 久久精品免视看| 国产成人精品一区二|