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

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

?? mib2.c

?? stm32+ucos-ii
?? C
?? 第 1 頁 / 共 5 頁
字號:
    sysname_ptr = ocstr;
    sysname_len_ptr = ocstrlen;
  }
}

/**
 * Initializes sysLocation pointers,
 * e.g. ptrs to non-volatile memory external to lwIP.
 *
 * @param ocstr if non-NULL then copy str pointer
 * @param ocstrlen points to string length, excluding zero terminator
 */
void snmp_set_syslocation(u8_t *ocstr, u8_t *ocstrlen)
{
  if (ocstr != NULL)
  {
    syslocation_ptr = ocstr;
    syslocation_len_ptr = ocstrlen;
  }
}


void snmp_add_ifinoctets(struct netif *ni, u32_t value)
{
  ni->ifinoctets += value;
}

void snmp_inc_ifinucastpkts(struct netif *ni)
{
  (ni->ifinucastpkts)++;
}

void snmp_inc_ifinnucastpkts(struct netif *ni)
{
  (ni->ifinnucastpkts)++;
}

void snmp_inc_ifindiscards(struct netif *ni)
{
  (ni->ifindiscards)++;
}

void snmp_add_ifoutoctets(struct netif *ni, u32_t value)
{
  ni->ifoutoctets += value;
}

void snmp_inc_ifoutucastpkts(struct netif *ni)
{
  (ni->ifoutucastpkts)++;
}

void snmp_inc_ifoutnucastpkts(struct netif *ni)
{
  (ni->ifoutnucastpkts)++;
}

void snmp_inc_ifoutdiscards(struct netif *ni)
{
  (ni->ifoutdiscards)++;
}

void snmp_inc_iflist(void)
{
  struct mib_list_node *if_node = NULL;

  snmp_mib_node_insert(&iflist_root, iflist_root.count + 1, &if_node);
  /* enable getnext traversal on filled table */
  iftable.maxlength = 1;
}

void snmp_dec_iflist(void)
{
  snmp_mib_node_delete(&iflist_root, iflist_root.tail);
  /* disable getnext traversal on empty table */
  if(iflist_root.count == 0) iftable.maxlength = 0;
}

/**
 * Inserts ARP table indexes (.xIfIndex.xNetAddress)
 * into arp table index trees (both atTable and ipNetToMediaTable).
 */
void snmp_insert_arpidx_tree(struct netif *ni, struct ip_addr *ip)
{
  struct mib_list_rootnode *at_rn;
  struct mib_list_node *at_node;
  struct ip_addr hip;
  s32_t arpidx[5];
  u8_t level, tree;

  LWIP_ASSERT("ni != NULL", ni != NULL);
  snmp_netiftoifindex(ni, &arpidx[0]);
  hip.addr = ntohl(ip->addr);
  snmp_iptooid(&hip, &arpidx[1]);

  for (tree = 0; tree < 2; tree++)
  {
    if (tree == 0)
    {
      at_rn = &arptree_root;
    }
    else
    {
      at_rn = &ipntomtree_root;
    }
    for (level = 0; level < 5; level++)
    {
      at_node = NULL;
      snmp_mib_node_insert(at_rn, arpidx[level], &at_node);
      if ((level != 4) && (at_node != NULL))
      {
        if (at_node->nptr == NULL)
        {
          at_rn = snmp_mib_lrn_alloc();
          at_node->nptr = (struct mib_node*)at_rn;
          if (at_rn != NULL)
          {
            if (level == 3)
            {
              if (tree == 0)
              {
                at_rn->get_object_def = atentry_get_object_def;
                at_rn->get_value = atentry_get_value;
              }
              else
              {
                at_rn->get_object_def = ip_ntomentry_get_object_def;
                at_rn->get_value = ip_ntomentry_get_value;
              }
              at_rn->set_test = noleafs_set_test;
              at_rn->set_value = noleafs_set_value;
            }
          }
          else
          {
            /* at_rn == NULL, malloc failure */
            LWIP_DEBUGF(SNMP_MIB_DEBUG,("snmp_insert_arpidx_tree() insert failed, mem full"));
            break;
          }
        }
        else
        {
          at_rn = (struct mib_list_rootnode*)at_node->nptr;
        }
      }
    }
  }
  /* enable getnext traversal on filled tables */
  at.maxlength = 1;
  ipntomtable.maxlength = 1;
}

/**
 * Removes ARP table indexes (.xIfIndex.xNetAddress)
 * from arp table index trees.
 */
void snmp_delete_arpidx_tree(struct netif *ni, struct ip_addr *ip)
{
  struct mib_list_rootnode *at_rn, *next, *del_rn[5];
  struct mib_list_node *at_n, *del_n[5];
  struct ip_addr hip;
  s32_t arpidx[5];
  u8_t fc, tree, level, del_cnt;

  snmp_netiftoifindex(ni, &arpidx[0]);
  hip.addr = ntohl(ip->addr);
  snmp_iptooid(&hip, &arpidx[1]);

  for (tree = 0; tree < 2; tree++)
  {
    /* mark nodes for deletion */
    if (tree == 0)
    {
      at_rn = &arptree_root;
    }
    else
    {
      at_rn = &ipntomtree_root;
    }
    level = 0;
    del_cnt = 0;
    while ((level < 5) && (at_rn != NULL))
    {
      fc = snmp_mib_node_find(at_rn, arpidx[level], &at_n);
      if (fc == 0)
      {
        /* arpidx[level] does not exist */
        del_cnt = 0;
        at_rn = NULL;
      }
      else if (fc == 1)
      {
        del_rn[del_cnt] = at_rn;
        del_n[del_cnt] = at_n;
        del_cnt++;
        at_rn = (struct mib_list_rootnode*)(at_n->nptr);
      }
      else if (fc == 2)
      {
        /* reset delete (2 or more childs) */
        del_cnt = 0;
        at_rn = (struct mib_list_rootnode*)(at_n->nptr);
      }
      level++;
    }
    /* delete marked index nodes */
    while (del_cnt > 0)
    {
      del_cnt--;

      at_rn = del_rn[del_cnt];
      at_n = del_n[del_cnt];

      next = snmp_mib_node_delete(at_rn, at_n);
      if (next != NULL)
      {
        LWIP_ASSERT("next_count == 0",next->count == 0);
        snmp_mib_lrn_free(next);
      }
    }
  }
  /* disable getnext traversal on empty tables */
  if(arptree_root.count == 0) at.maxlength = 0;
  if(ipntomtree_root.count == 0) ipntomtable.maxlength = 0;
}

void snmp_inc_ipinreceives(void)
{
  ipinreceives++;
}

void snmp_inc_ipinhdrerrors(void)
{
  ipinhdrerrors++;
}

void snmp_inc_ipinaddrerrors(void)
{
  ipinaddrerrors++;
}

void snmp_inc_ipforwdatagrams(void)
{
  ipforwdatagrams++;
}

void snmp_inc_ipinunknownprotos(void)
{
  ipinunknownprotos++;
}

void snmp_inc_ipindiscards(void)
{
  ipindiscards++;
}

void snmp_inc_ipindelivers(void)
{
  ipindelivers++;
}

void snmp_inc_ipoutrequests(void)
{
  ipoutrequests++;
}

void snmp_inc_ipoutdiscards(void)
{
  ipoutdiscards++;
}

void snmp_inc_ipoutnoroutes(void)
{
  ipoutnoroutes++;
}

void snmp_inc_ipreasmreqds(void)
{
  ipreasmreqds++;
}

void snmp_inc_ipreasmoks(void)
{
  ipreasmoks++;
}

void snmp_inc_ipreasmfails(void)
{
  ipreasmfails++;
}

void snmp_inc_ipfragoks(void)
{
  ipfragoks++;
}

void snmp_inc_ipfragfails(void)
{
  ipfragfails++;
}

void snmp_inc_ipfragcreates(void)
{
  ipfragcreates++;
}

void snmp_inc_iproutingdiscards(void)
{
  iproutingdiscards++;
}

/**
 * Inserts ipAddrTable indexes (.ipAdEntAddr)
 * into index tree.
 */
void snmp_insert_ipaddridx_tree(struct netif *ni)
{
  struct mib_list_rootnode *ipa_rn;
  struct mib_list_node *ipa_node;
  struct ip_addr ip;
  s32_t ipaddridx[4];
  u8_t level;

  LWIP_ASSERT("ni != NULL", ni != NULL);
  ip.addr = ntohl(ni->ip_addr.addr);
  snmp_iptooid(&ip, &ipaddridx[0]);

  level = 0;
  ipa_rn = &ipaddrtree_root;
  while (level < 4)
  {
    ipa_node = NULL;
    snmp_mib_node_insert(ipa_rn, ipaddridx[level], &ipa_node);
    if ((level != 3) && (ipa_node != NULL))
    {
      if (ipa_node->nptr == NULL)
      {
        ipa_rn = snmp_mib_lrn_alloc();
        ipa_node->nptr = (struct mib_node*)ipa_rn;
        if (ipa_rn != NULL)
        {
          if (level == 2)
          {
            ipa_rn->get_object_def = ip_addrentry_get_object_def;
            ipa_rn->get_value = ip_addrentry_get_value;
            ipa_rn->set_test = noleafs_set_test;
            ipa_rn->set_value = noleafs_set_value;
          }
        }
        else
        {
          /* ipa_rn == NULL, malloc failure */
          LWIP_DEBUGF(SNMP_MIB_DEBUG,("snmp_insert_ipaddridx_tree() insert failed, mem full"));
          break;
        }
      }
      else
      {
        ipa_rn = (struct mib_list_rootnode*)ipa_node->nptr;
      }
    }
    level++;
  }
  /* enable getnext traversal on filled table */
  ipaddrtable.maxlength = 1;
}

/**
 * Removes ipAddrTable indexes (.ipAdEntAddr)
 * from index tree.
 */
void snmp_delete_ipaddridx_tree(struct netif *ni)
{
  struct mib_list_rootnode *ipa_rn, *next, *del_rn[4];
  struct mib_list_node *ipa_n, *del_n[4];
  struct ip_addr ip;
  s32_t ipaddridx[4];
  u8_t fc, level, del_cnt;

  LWIP_ASSERT("ni != NULL", ni != NULL);
  ip.addr = ntohl(ni->ip_addr.addr);
  snmp_iptooid(&ip, &ipaddridx[0]);

  /* mark nodes for deletion */
  level = 0;
  del_cnt = 0;
  ipa_rn = &ipaddrtree_root;
  while ((level < 4) && (ipa_rn != NULL))
  {
    fc = snmp_mib_node_find(ipa_rn, ipaddridx[level], &ipa_n);
    if (fc == 0)
    {
      /* ipaddridx[level] does not exist */
      del_cnt = 0;
      ipa_rn = NULL;
    }
    else if (fc == 1)
    {
      del_rn[del_cnt] = ipa_rn;
      del_n[del_cnt] = ipa_n;
      del_cnt++;
      ipa_rn = (struct mib_list_rootnode*)(ipa_n->nptr);
    }
    else if (fc == 2)
    {
      /* reset delete (2 or more childs) */
      del_cnt = 0;
      ipa_rn = (struct mib_list_rootnode*)(ipa_n->nptr);
    }
    level++;
  }
  /* delete marked index nodes */
  while (del_cnt > 0)
  {
    del_cnt--;

    ipa_rn = del_rn[del_cnt];
    ipa_n = del_n[del_cnt];

    next = snmp_mib_node_delete(ipa_rn, ipa_n);
    if (next != NULL)
    {
      LWIP_ASSERT("next_count == 0",next->count == 0);
      snmp_mib_lrn_free(next);
    }
  }
  /* disable getnext traversal on empty table */
  if (ipaddrtree_root.count == 0) ipaddrtable.maxlength = 0;
}

/**
 * Inserts ipRouteTable indexes (.ipRouteDest)
 * into index tree.
 *
 * @param dflt non-zero for the default rte, zero for network rte
 * @param ni points to network interface for this rte
 *
 * @todo record sysuptime for _this_ route when it is installed
 *   (needed for ipRouteAge) in the netif.
 */
void snmp_insert_iprteidx_tree(u8_t dflt, struct netif *ni)
{
  u8_t insert = 0;
  struct ip_addr dst;

  if (dflt != 0)
  {
    /* the default route 0.0.0.0 */
    dst.addr = 0;
    insert = 1;
  }
  else
  {
    /* route to the network address */
    dst.addr = ntohl(ni->ip_addr.addr & ni->netmask.addr);
    /* exclude 0.0.0.0 network (reserved for default rte) */
    if (dst.addr != 0) insert = 1;
  }
  if (insert)
  {
    struct mib_list_rootnode *iprte_rn;
    struct mib_list_node *iprte_node;
    s32_t iprteidx[4];
    u8_t level;

    snmp_iptooid(&dst, &iprteidx[0]);
    level = 0;
    iprte_rn = &iprtetree_root;
    while (level < 4)
    {
      iprte_node = NULL;
      snmp_mib_node_insert(iprte_rn, iprteidx[level], &iprte_node);
      if ((level != 3) && (iprte_node != NULL))
      {
        if (iprte_node->nptr == NULL)
        {
          iprte_rn = snmp_mib_lrn_alloc();
          iprte_node->nptr = (struct mib_node*)iprte_rn;
          if (iprte_rn != NULL)
          {
            if (level == 2)
            {
              iprte_rn->get_object_def = ip_rteentry_get_object_def;
              iprte_rn->get_value = ip_rteentry_get_value;
              iprte_rn->set_test = noleafs_set_test;
              iprte_rn->set_value = noleafs_set_value;
            }
          }
          else
          {
            /* iprte_rn == NULL, malloc failure */
            LWIP_DEBUGF(SNMP_MIB_DEBUG,("snmp_insert_iprteidx_tree() insert failed, mem full"));
            break;
          }
        }
        else
        {
          iprte_rn = (struct mib_list_rootnode*)iprte_node->nptr;
        }
      }
      level++;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日本乱大交xxxxx| 国产精品国产三级国产| 久久久久99精品一区| 一区二区三区日韩精品视频| 另类小说图片综合网| 欧美亚洲一区二区在线观看| 精品国产免费人成在线观看| 亚洲精品福利视频网站| 成人国产精品免费网站| 欧美变态tickling挠脚心| 一区二区三区丝袜| 成人av电影在线网| 日韩午夜电影在线观看| 丝袜美腿成人在线| 欧美性受xxxx黑人xyx| 亚洲色图制服诱惑| 成人精品视频.| 久久精品亚洲一区二区三区浴池| 三级亚洲高清视频| 在线观看91视频| 国产精品福利av| 国产精品1区二区.| 久久综合狠狠综合久久激情| 午夜精品久久久| 精品视频在线视频| 一二三四区精品视频| 91视频国产资源| 亚洲欧美日韩国产另类专区| 成人高清伦理免费影院在线观看| 久久精品水蜜桃av综合天堂| 精品一区二区三区的国产在线播放| 欧美疯狂做受xxxx富婆| 亚洲成人激情自拍| 欧美一区二区三区在线视频| 美女精品自拍一二三四| 日韩欧美一级二级| 久久成人免费电影| 久久久久99精品国产片| 成人激情动漫在线观看| 国产精品五月天| 91亚洲精品久久久蜜桃| 亚洲午夜视频在线观看| 在线观看视频91| 婷婷综合在线观看| 欧美成人国产一区二区| 国产精品99精品久久免费| 国产精品污网站| 日本韩国一区二区三区视频| 五月天欧美精品| 2020国产精品自拍| 成人中文字幕在线| 亚洲情趣在线观看| 4hu四虎永久在线影院成人| 久色婷婷小香蕉久久| 国产亚洲一区二区三区四区| 9色porny自拍视频一区二区| 亚洲成av人片www| 日韩欧美国产1| 成人黄色在线网站| 偷拍日韩校园综合在线| 精品sm捆绑视频| 91视频观看免费| 蜜臀av一区二区| 欧美国产激情一区二区三区蜜月| 99精品热视频| 日韩av一区二区在线影视| 国产亚洲视频系列| 欧美丝袜丝nylons| 国产在线播精品第三| 日韩一区在线看| 日韩一区二区视频| gogo大胆日本视频一区| 日本在线不卡一区| 亚洲国产精品二十页| 欧美撒尿777hd撒尿| 国产一区二三区| 亚洲成人精品在线观看| 日本一区二区三区四区在线视频| 欧美性一二三区| 国产精品一卡二卡在线观看| 亚洲一线二线三线久久久| 久久精品一二三| 日韩欧美你懂的| 在线观看国产日韩| eeuss鲁片一区二区三区在线看| 免费一级片91| 一区二区三区国产| 中文字幕一区二区三区不卡| 91精品国产综合久久久蜜臀粉嫩 | 91亚洲永久精品| 精品一区二区久久久| 亚洲成a人在线观看| 欧美激情一区二区三区| 欧美成人a视频| 欧美区一区二区三区| 91麻豆福利精品推荐| 国产99久久久精品| 精品无码三级在线观看视频| 午夜一区二区三区视频| 亚洲精品免费电影| 亚洲图片另类小说| 国产精品拍天天在线| 2021国产精品久久精品| 欧美大片国产精品| 欧美一区二区三区视频在线| 欧美日韩国产高清一区二区三区| 色综合久久久久综合99| 99在线精品观看| 波多野结衣在线一区| 成人综合在线视频| 成人蜜臀av电影| 成人v精品蜜桃久久一区| 国产风韵犹存在线视精品| 韩国女主播成人在线| 国产一区二区免费在线| 美女视频黄 久久| 久久99精品国产| 久久国产免费看| 韩国三级电影一区二区| 国产一区二区免费在线| 国产精品 欧美精品| 国产风韵犹存在线视精品| 国产精品自在欧美一区| 国产精品 欧美精品| 成年人国产精品| 91理论电影在线观看| 欧洲日韩一区二区三区| 欧美日韩极品在线观看一区| 7777女厕盗摄久久久| 日韩欧美一级在线播放| 欧美极品aⅴ影院| 中文字幕免费不卡| 国产精品电影一区二区| 一区二区三区美女视频| 日韩激情视频在线观看| 久久99久久久欧美国产| 国产精品99久| 91国偷自产一区二区开放时间| 欧美日韩在线播| 久久天天做天天爱综合色| 国产清纯美女被跳蛋高潮一区二区久久w| 2022国产精品视频| 中文字幕在线不卡一区二区三区| 亚洲色欲色欲www| 日本人妖一区二区| 成人性视频免费网站| 欧美色中文字幕| 日韩久久精品一区| 中文字幕一区三区| 亚洲成人av资源| 国产很黄免费观看久久| 91久久精品日日躁夜夜躁欧美| 制服丝袜中文字幕亚洲| 国产欧美日韩在线| 亚洲va在线va天堂| 粉嫩av一区二区三区| 欧美日韩黄色影视| 亚洲国产美女搞黄色| 蜜臀久久99精品久久久久久9| 国产主播一区二区三区| 欧美性一区二区| 国产精品区一区二区三区| 日本欧洲一区二区| 99久久综合99久久综合网站| 日韩欧美一二区| 亚洲一区二区在线免费观看视频| 国产资源精品在线观看| 欧美日韩的一区二区| 亚洲欧洲日本在线| 国产一区二区三区最好精华液| 欧美亚洲高清一区| 国产精品视频在线看| 蜜臀a∨国产成人精品| 91亚洲大成网污www| 久久噜噜亚洲综合| 午夜影院在线观看欧美| 99久久亚洲一区二区三区青草| 日韩欧美你懂的| 天堂资源在线中文精品| 99国产精品99久久久久久| xvideos.蜜桃一区二区| 日韩电影一二三区| 欧美在线免费播放| 亚洲欧美日韩在线| 成人爽a毛片一区二区免费| 久久久国产综合精品女国产盗摄| 日韩极品在线观看| 制服丝袜成人动漫| 亚洲一区二区偷拍精品| 色综合激情五月| 国产精品不卡一区| 成人av网站在线观看| 久久精品这里都是精品| 国产精品一区二区91| 久久久欧美精品sm网站| 精彩视频一区二区三区| 精品精品欲导航| 美腿丝袜在线亚洲一区| 欧美电视剧免费全集观看| 日韩不卡在线观看日韩不卡视频|