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

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

?? uip-neighbor.c

?? 最新版FreeRTOS, 包擴多種開發平臺的移植
?? C
字號:
/*
 * Copyright (c) 2006, Swedish Institute of Computer Science.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. Neither the name of the Institute nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 * This file is part of the uIP TCP/IP stack
 *
 * $Id: uip-neighbor.c,v 1.2 2006/06/12 08:00:30 adam Exp $
 */

/**
 * \file
 *         Database of link-local neighbors, used by IPv6 code and
 *         to be used by a future ARP code rewrite.
 * \author
 *         Adam Dunkels <adam@sics.se>
 */

#include "uip-neighbor.h"

#include <string.h>
#include <stdio.h>

#define MAX_TIME 128

#ifdef UIP_NEIGHBOR_CONF_ENTRIES
#define ENTRIES UIP_NEIGHBOR_CONF_ENTRIES
#else /* UIP_NEIGHBOR_CONF_ENTRIES */
#define ENTRIES 8
#endif /* UIP_NEIGHBOR_CONF_ENTRIES */

struct neighbor_entry {
  uip_ipaddr_t ipaddr;
  struct uip_neighbor_addr addr;
  u8_t time;
};
static struct neighbor_entry entries[ENTRIES];

/*---------------------------------------------------------------------------*/
void
uip_neighbor_init(void)
{
  int i;

  for(i = 0; i < ENTRIES; ++i) {
    entries[i].time = MAX_TIME;
  }
}
/*---------------------------------------------------------------------------*/
void
uip_neighbor_periodic(void)
{
  int i;

  for(i = 0; i < ENTRIES; ++i) {
    if(entries[i].time < MAX_TIME) {
      entries[i].time++;
    }
  }
}
/*---------------------------------------------------------------------------*/
void
uip_neighbor_add(uip_ipaddr_t ipaddr, struct uip_neighbor_addr *addr)
{
  int i, oldest;
  u8_t oldest_time;

  printf("Adding neighbor with link address %02x:%02x:%02x:%02x:%02x:%02x\n",
	 addr->addr.addr[0], addr->addr.addr[1], addr->addr.addr[2], addr->addr.addr[3],
	 addr->addr.addr[4], addr->addr.addr[5]);
  
  /* Find the first unused entry or the oldest used entry. */
  oldest_time = 0;
  oldest = 0;
  for(i = 0; i < ENTRIES; ++i) {
    if(entries[i].time == MAX_TIME) {
      oldest = i;
      break;
    }
    if(uip_ipaddr_cmp(entries[i].ipaddr, addr)) {
      oldest = i;
      break;
    }
    if(entries[i].time > oldest_time) {
      oldest = i;
      oldest_time = entries[i].time;
    }
  }

  /* Use the oldest or first free entry (either pointed to by the
     "oldest" variable). */
  entries[oldest].time = 0;
  uip_ipaddr_copy(entries[oldest].ipaddr, ipaddr);
  memcpy(&entries[oldest].addr, addr, sizeof(struct uip_neighbor_addr));
}
/*---------------------------------------------------------------------------*/
static struct neighbor_entry *
find_entry(uip_ipaddr_t ipaddr)
{
  int i;
  
  for(i = 0; i < ENTRIES; ++i) {
    if(uip_ipaddr_cmp(entries[i].ipaddr, ipaddr)) {
      return &entries[i];
    }
  }
  return NULL;
}
/*---------------------------------------------------------------------------*/
void
uip_neighbor_update(uip_ipaddr_t ipaddr)
{
  struct neighbor_entry *e;

  e = find_entry(ipaddr);
  if(e != NULL) {
    e->time = 0;
  }
}
/*---------------------------------------------------------------------------*/
struct uip_neighbor_addr *
uip_neighbor_lookup(uip_ipaddr_t ipaddr)
{
  struct neighbor_entry *e;

  e = find_entry(ipaddr);
  if(e != NULL) {
    /*    printf("Lookup neighbor with link address %02x:%02x:%02x:%02x:%02x:%02x\n",
	   e->addr.addr.addr[0], e->addr.addr.addr[1], e->addr.addr.addr[2], e->addr.addr.addr[3],
	   e->addr.addr.addr[4], e->addr.addr.addr[5]);*/

    return &e->addr;
  }
  return NULL;
}
/*---------------------------------------------------------------------------*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品噜噜噜成人88aⅴ| 国产嫩草影院久久久久| 国产精品99久| 日本欧美一区二区| 亚洲va国产天堂va久久en| 亚洲视频在线一区观看| 亚洲视频狠狠干| 玉米视频成人免费看| 一区二区三区国产精品| 夜夜嗨av一区二区三区网页| 亚洲精品中文在线影院| 午夜亚洲国产au精品一区二区| 一区二区欧美视频| 日日摸夜夜添夜夜添精品视频| 亚洲国产婷婷综合在线精品| 午夜国产不卡在线观看视频| 久久国产精品99精品国产| 国产精品一区二区在线看| 成人国产在线观看| 色香蕉成人二区免费| 欧美在线免费播放| 日韩欧美电影一二三| 久久精品视频一区二区| 亚洲天堂中文字幕| 日韩专区中文字幕一区二区| 黄一区二区三区| 成人高清视频在线| 欧美日韩免费观看一区三区| 久久众筹精品私拍模特| 国产精品美日韩| 日本不卡在线视频| 丁香六月综合激情| 欧美亚洲国产怡红院影院| 日韩欧美精品三级| 亚洲欧美一区二区久久 | 日本一二三不卡| 国产精品国产a| 五月婷婷久久丁香| 不卡的av在线播放| 日韩一区二区在线观看| 亚洲欧美日韩在线不卡| 久久成人精品无人区| 91美女在线观看| 精品久久五月天| 亚洲自拍欧美精品| 成人影视亚洲图片在线| 欧美一区二区三区四区久久| 中文字幕一区二区三区在线不卡 | 极品销魂美女一区二区三区| 91在线视频播放地址| 欧美电影免费提供在线观看| 亚洲一区二区在线播放相泽| 风间由美一区二区av101 | 成人动漫视频在线| 日韩三级高清在线| 亚洲六月丁香色婷婷综合久久| 日本成人在线网站| 欧美日韩成人综合| 亚洲最大成人综合| fc2成人免费人成在线观看播放| 日韩欧美一级二级| 五月婷婷综合激情| 欧美三级资源在线| 亚洲人成电影网站色mp4| 国产成人精品亚洲日本在线桃色| 日韩一级黄色大片| 奇米影视一区二区三区| 欧美日韩一级片在线观看| 亚洲欧美日韩系列| 一本大道久久a久久精二百| 欧美国产日韩一二三区| 国产成人免费av在线| 精品国产91亚洲一区二区三区婷婷| 亚洲成av人片观看| 欧美丰满少妇xxxbbb| 无吗不卡中文字幕| 欧美高清性hdvideosex| 亚洲va欧美va人人爽| 欧美精品乱码久久久久久按摩| 亚洲国产婷婷综合在线精品| 欧美午夜在线观看| 日韩av电影天堂| 欧美va亚洲va| 国产高清久久久久| 中文字幕一区二区三区av| 91亚洲精品久久久蜜桃| 中文字幕亚洲在| 色噜噜偷拍精品综合在线| 亚洲一卡二卡三卡四卡五卡| 欧美精品色一区二区三区| 奇米色777欧美一区二区| 精品久久久久久综合日本欧美| 国产又黄又大久久| 国产精品短视频| 在线免费观看成人短视频| 日韩国产欧美视频| 26uuu国产在线精品一区二区| 国产成人综合在线| 椎名由奈av一区二区三区| 欧美日韩综合在线免费观看| 日本亚洲三级在线| 久久精品男人的天堂| 91精品福利视频| 久久国产综合精品| 中文字幕成人网| 欧美性感一区二区三区| 国模一区二区三区白浆| 亚洲视频在线观看一区| 欧美一区二区三区不卡| 懂色av一区二区三区免费观看| 亚洲精品日日夜夜| 精品毛片乱码1区2区3区| 成人高清免费在线播放| 日韩高清不卡一区| 久久久精品tv| 欧美福利一区二区| 国产不卡视频一区| 三级久久三级久久久| 亚洲欧洲在线观看av| 日韩视频在线永久播放| 色婷婷精品久久二区二区蜜臀av| 日本不卡不码高清免费观看| 中文一区二区完整视频在线观看| 在线欧美日韩精品| 成人激情开心网| 久久国产精品免费| 五月婷婷久久丁香| 国产精品不卡一区| 久久久久久99精品| 91精品综合久久久久久| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲视频小说图片| 精品国产3级a| 日韩一区二区在线播放| 欧美色图在线观看| 色狠狠综合天天综合综合| 国产99一区视频免费| 激情六月婷婷久久| 美腿丝袜一区二区三区| 午夜一区二区三区视频| 亚洲综合无码一区二区| 最新国产成人在线观看| 国产午夜亚洲精品羞羞网站| 日韩欧美卡一卡二| 日韩一区二区影院| 日韩一级完整毛片| 日韩三级.com| 精品日韩欧美一区二区| 欧美成人一区二区三区片免费| 欧美高清激情brazzers| 欧美精品777| 91精品国产麻豆国产自产在线| 日本道精品一区二区三区| 91浏览器打开| 91免费看片在线观看| 色综合天天综合在线视频| 99精品国产视频| 色综合久久综合中文综合网| 99久久综合狠狠综合久久| eeuss鲁片一区二区三区| 丁香亚洲综合激情啪啪综合| 成人在线视频一区二区| 9i看片成人免费高清| 色拍拍在线精品视频8848| 色呦呦一区二区三区| 欧美亚洲一区二区在线| 91精品国产综合久久精品| 欧美大片一区二区三区| 久久亚洲免费视频| 国产精品网站一区| 伊人色综合久久天天人手人婷| 亚洲综合在线视频| 日韩国产欧美视频| 国产一区二区成人久久免费影院| 国产成人激情av| 一本大道综合伊人精品热热| 欧美高清一级片在线| 欧美精品一区二区三区久久久| 亚洲国产高清不卡| 亚洲一区二区三区四区在线免费观看 | 久久久国产午夜精品 | 亚洲综合在线免费观看| 日本人妖一区二区| 成人免费毛片片v| 欧美色视频一区| 久久精品一区二区三区不卡| 中文字幕在线一区| 亚洲一区二区三区爽爽爽爽爽 | 国产精品久久久久一区二区三区共 | 国产69精品久久久久777| 91美女福利视频| 日韩一卡二卡三卡| 亚洲视频精选在线| 国内精品国产成人国产三级粉色| 91美女视频网站| 久久麻豆一区二区| 亚洲小说欧美激情另类| 粉嫩嫩av羞羞动漫久久久| 欧美在线观看一区| 综合久久久久久|