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

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

?? arp.lst

?? VB從入門到精通學(xué)習(xí)教程,寫的非常詳細(xì),非常好
?? LST
?? 第 1 頁 / 共 2 頁
字號:
 159          // Return pointer to the hardware address or NULL if not found
 160          // See "TCP/IP Illustrated, Volume 1" Sect 4.5
 161          //------------------------------------------------------------------------
 162          UCHAR xdata * arp_resolve(ULONG dest_ipaddr)
 163          {
 164   1         UCHAR i;
 165   1            
 166   1         // If destination IP is not on my subnet then we really want eth addr
 167   1              // of gateway, not destination IP
 168   1              if ((dest_ipaddr ^ my_ipaddr) & my_subnet)
 169   1              {
 170   2                      if (gateway_ipaddr == 0)
 171   2                      {
 172   3                              if (debug) serial_send("ARP: Error, gateway addr not set\r");
 173   3                              return (NULL);  
 174   3                      }
 175   2                      else dest_ipaddr = gateway_ipaddr;
 176   2              }
 177   1              
 178   1                 
 179   1         // See if IP addr of interest is in ARP cache
C51 COMPILER V7.10   ARP                                                                   07/24/2008 16:32:05 PAGE 4   

 180   1         for (i=0; i < CACHESIZE; i++)
 181   1         {
 182   2            if (arp_cache[i].ipaddr == dest_ipaddr)
 183   2               return (&arp_cache[i].hwaddr[0]);
 184   2         }
 185   1      
 186   1              if (debug) serial_send("ARP: IP addr not found in cache\r");
 187   1              if (debug) serial_send("ARP: Sending an ARP broadcast\r");
 188   1              // Not in cache so broadcast ARP request
 189   1              arp_send(NULL, dest_ipaddr, ARP_REQUEST);
 190   1                 
 191   1         // Set a flag to indicate that an IP datagram is waiting
 192   1         // to be sent
 193   1         waiting_for_arp = TRUE;
 194   1                                            
 195   1         // Null means that we have sent an ARP request
 196   1         return (NULL); 
 197   1      }
 198          
 199          
 200          
 201          
 202          
 203          //------------------------------------------------------------------------
 204          // This handles incoming ARP messages
 205          // See "TCP/IP Illustrated, Volume 1" Sect 4.4
 206          // Todo:  Resolve problem of trying to add to a full cache
 207          //------------------------------------------------------------------------
 208          void arp_rcve(UCHAR xdata * inbuf)
 209          {
 210   1         UCHAR idata i, cached, oldest;
 211   1         UINT idata minimum;
 212   1         ARP_HEADER xdata * arp;
 213   1            
 214   1         arp = (ARP_HEADER xdata *)(inbuf + 14);
 215   1         cached = FALSE;
 216   1         
 217   1         // Print message
 218   1         if (debug)
 219   1         {
 220   2            if (arp->message_type == ARP_REQUEST)
 221   2               serial_send("ARP: Request rcvd\r");
 222   2            else serial_send("ARP: Response rcvd\r");
 223   2         }
 224   1               
 225   1         // Validate incoming frame
 226   1         if ((arp->hardware_type != DIX_ETHERNET) ||
 227   1             (arp->protocol_type != IP_PACKET)) return;
 228   1      
 229   1         // Search ARP cache for senders IP address
 230   1         // If found, update entry and restart timer
 231   1         for (i=0; i < CACHESIZE; i++)
 232   1         {
 233   2            if (arp_cache[i].ipaddr == arp->source_ipaddr)
 234   2            {
 235   3               memcpy(&arp_cache[i].hwaddr[0], &arp->source_hwaddr[0], 6);
 236   3               arp_cache[i].timer = CACHETIME;                
 237   3               cached = TRUE;
 238   3               if (debug) serial_send("ARP: Cache entry updated\r");
 239   3                        
 240   3               break;  
 241   3            }
C51 COMPILER V7.10   ARP                                                                   07/24/2008 16:32:05 PAGE 5   

 242   2         }
 243   1         
 244   1         if (arp->dest_ipaddr != my_ipaddr) return;
 245   1         
 246   1         // At this point we know the the frame is addressed to me
 247   1         // If not already in cache then add entry and start timer
 248   1         if (cached == FALSE)
 249   1         {
 250   2            // Find first blank space and add entry
 251   2                      // Blank entries are indicated by ip addr = 0
 252   2            for (i=0; i < CACHESIZE; i++)
 253   2            {
 254   3               if (arp_cache[i].ipaddr == 0) 
 255   3               {
 256   4                  arp_cache[i].ipaddr = arp->source_ipaddr;
 257   4                  memcpy(&arp_cache[i].hwaddr[0], &arp->source_hwaddr[0], 6);   
 258   4                  arp_cache[i].timer = CACHETIME;
 259   4                      if (debug) serial_send("ARP: New cache entry added\r");
 260   4                      break;
 261   4               }
 262   3            }
 263   2      
 264   2                      // If no blank entries in arp cache     then sort cache
 265   2                      // to find oldest entry and replace it
 266   2                      if (i == CACHESIZE)
 267   2                      {
 268   3                              // Oldest entry is the one with lowest timer value                      
 269   3                              minimum = 0xFFFF;
 270   3                              for (i=0; i < CACHESIZE; i++)
 271   3              {
 272   4                                      if (arp_cache[i].timer < minimum) 
 273   4                                      {
 274   5                                              minimum = arp_cache[i].timer;
 275   5                                              oldest = i;
 276   5                                      }
 277   4                              }
 278   3              
 279   3                              // "oldest" is now index of oldest entry, so replace it
 280   3                              arp_cache[oldest].ipaddr = arp->source_ipaddr;
 281   3               memcpy(&arp_cache[oldest].hwaddr[0], &arp->source_hwaddr[0], 6);   
 282   3               arp_cache[oldest].timer = CACHETIME;
 283   3              if (debug) serial_send("ARP: Cache full, so replaced oldest\r");
 284   3              }
 285   2              }
 286   1      
 287   1         
 288   1         // If we are waiting for an arp response and the arp response
 289   1              // that just came in is addressed to me and is from the host
 290   1              // we are waiting for, then send        the message-in-waiting
 291   1         if (arp->message_type == ARP_RESPONSE)
 292   1         {
 293   2              if ((waiting_for_arp) && (wait.ipaddr == arp->source_ipaddr))
 294   2              {
 295   3                      waiting_for_arp = FALSE;
 296   3                              ip_send(wait.buf, wait.ipaddr, wait.proto_id, wait.len);
 297   3                      }
 298   2              }
 299   1              else if (arp->message_type == ARP_REQUEST)
 300   1         {
 301   2              // Send ARP response 
 302   2              if (debug) serial_send("ARP: Sending response\r");
 303   2              arp_send(arp->source_hwaddr, arp->source_ipaddr, ARP_RESPONSE);
C51 COMPILER V7.10   ARP                                                                   07/24/2008 16:32:05 PAGE 6   

 304   2              }
 305   1      }
 306          
 307          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1303    ----
   CONSTANT SIZE    =    372    ----
   XDATA SIZE       =    110    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1      20
   IDATA SIZE       =      1       5
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免播放器亚洲一区| 国产精品午夜久久| 欧美老年两性高潮| 精品久久久久久综合日本欧美| 欧美激情在线免费观看| 亚洲国产视频a| 国产一区二区三区视频在线播放| 成人手机电影网| 成人午夜视频在线| 日本一区二区综合亚洲| 丝袜亚洲另类丝袜在线| 成人一区二区三区视频在线观看| 日本一区二区三区在线观看| 99热在这里有精品免费| 久久久影视传媒| 三级欧美在线一区| 精品国产乱码久久久久久浪潮| 亚洲成人激情社区| 色婷婷av一区| 久久精品亚洲一区二区三区浴池| 麻豆精品在线观看| 欧美无砖砖区免费| 一色屋精品亚洲香蕉网站| 国产尤物一区二区| 亚洲视频在线一区二区| proumb性欧美在线观看| 亚洲一区二区av电影| 99精品偷自拍| 最新高清无码专区| 91精品国产色综合久久不卡蜜臀 | 欧美视频一区二区| 久久99蜜桃精品| 欧美一区二区性放荡片| 国产精品系列在线观看| 国产欧美一区二区三区沐欲| 99re在线视频这里只有精品| 日韩电影在线免费| 精品国产一区二区三区久久久蜜月 | 亚洲一区在线观看免费观看电影高清| 日韩午夜av一区| 久久99久久99| 久久综合视频网| 国产精品一二三区在线| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲国产欧美日韩另类综合 | 国产在线播精品第三| 亚洲国产视频一区二区| 久久精品人人爽人人爽| 欧美日韩mp4| 精品一区二区三区免费视频| 一区二区三区在线免费观看| 日本精品免费观看高清观看| 亚洲国产aⅴ天堂久久| 欧美激情一区二区三区全黄| 欧美一区二区三级| 欧美系列在线观看| 成人h动漫精品一区二区| 一区二区三区四区激情| 久久精品亚洲乱码伦伦中文| 91精品国产91久久久久久一区二区| 91在线精品一区二区| 成人夜色视频网站在线观看| 老司机精品视频线观看86| 婷婷综合久久一区二区三区| 日韩午夜三级在线| 制服丝袜亚洲网站| 懂色av一区二区三区蜜臀| 中文字幕一区二区不卡| 久久久av毛片精品| 精品人在线二区三区| 欧美一级高清片在线观看| 欧美肥大bbwbbw高潮| 欧美色电影在线| 丰满亚洲少妇av| 国产麻豆精品视频| 国产精品亚洲一区二区三区妖精| 免费在线欧美视频| 日韩av成人高清| 男女性色大片免费观看一区二区| 午夜精品视频一区| 日韩专区一卡二卡| 日韩不卡一区二区三区| 日韩电影在线一区二区三区| 日韩高清不卡一区二区| 日韩黄色一级片| 麻豆成人av在线| 久久97超碰色| 国产精品一区久久久久| 丁香婷婷综合五月| 99久久99久久精品免费观看| 色综合色综合色综合色综合色综合| 91一区在线观看| 国模套图日韩精品一区二区| 亚洲va天堂va国产va久| 日韩电影免费在线观看网站| 麻豆国产精品777777在线| 国产在线播放一区二区三区 | voyeur盗摄精品| 色婷婷国产精品久久包臀| 欧美喷水一区二区| 精品久久国产字幕高潮| 国产色综合久久| 亚洲男帅同性gay1069| 久久久精品天堂| 亚洲天堂中文字幕| 爽好久久久欧美精品| 国产精品一级在线| 在线观看亚洲精品| 色婷婷精品大在线视频| 制服丝袜成人动漫| 国产亚洲福利社区一区| 亚洲美女偷拍久久| 卡一卡二国产精品| 99精品视频一区二区三区| 欧美日韩免费一区二区三区视频| 精品久久久久av影院| 综合婷婷亚洲小说| 免费高清不卡av| 91视频你懂的| 精品国精品自拍自在线| 一区二区三区四区蜜桃| 国精产品一区一区三区mba桃花| 不卡的看片网站| 日韩视频一区二区三区在线播放 | 国产精品护士白丝一区av| 日本一区二区三区免费乱视频 | 国产三级欧美三级| 亚洲国产三级在线| 国产成人激情av| 成人av一区二区三区| 91精品黄色片免费大全| 中文字幕永久在线不卡| 九色|91porny| 91福利国产成人精品照片| 久久免费午夜影院| 日韩黄色在线观看| 欧美主播一区二区三区| 国产农村妇女精品| 狠狠色丁香婷婷综合久久片| 欧美无砖专区一中文字| 国产精品久久久久精k8| 国产中文字幕精品| 91精品国产免费| 亚洲bt欧美bt精品| 91免费在线视频观看| 国产日产欧美一区二区视频| 日本不卡高清视频| 欧美日韩精品系列| 亚洲欧美日韩系列| 成人av网站大全| 久久久久综合网| 久久99精品一区二区三区| 欧美酷刑日本凌虐凌虐| 亚洲精品成人a在线观看| 日韩精品午夜视频| 欧美丝袜丝交足nylons| 自拍偷拍国产精品| aaa国产一区| 国产精品久久免费看| 国产成人午夜99999| 久久麻豆一区二区| 精品在线播放免费| 欧美电影免费观看高清完整版在线 | 国产精品91一区二区| 日韩欧美国产成人一区二区| 视频一区中文字幕| 欧美精品第1页| 三级不卡在线观看| 欧美群妇大交群中文字幕| 性做久久久久久免费观看| 欧美三级电影在线观看| 五月天久久比比资源色| 欧美夫妻性生活| 男女视频一区二区| www国产精品av| 国产一区二区三区久久久| 2023国产精品自拍| 国产91精品精华液一区二区三区| 久久九九99视频| 波多野结衣精品在线| 亚洲免费av网站| 欧美日韩一级二级| 久久se这里有精品| 国产区在线观看成人精品| 成人不卡免费av| 亚洲精品欧美专区| 欧美军同video69gay| 国模一区二区三区白浆| 国产精品网友自拍| 在线观看网站黄不卡| 日韩极品在线观看| 久久久一区二区三区捆绑**| 国产成人精品网址| 亚洲精品菠萝久久久久久久| 欧美精品在线观看一区二区| 久久国产精品一区二区| 国产精品青草综合久久久久99| 91香蕉视频污| 美女爽到高潮91| 中文字幕日本乱码精品影院|