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

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

?? uip_arp.h

?? avr版本的uip(一個超小型的TCPIP棧,支持tcpudparpicmp.
?? H
字號:
/**
 * \addtogroup uip
 * @{
 */

/**
 * \addtogroup uiparp 
 * @{
 */
 
/**
 * \file
 * Macros and definitions for the ARP module.
 * \author Adam Dunkels <adam@dunkels.com>
 */
  

/*
 * Copyright (c) 2001-2003, Adam Dunkels.
 * 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. The name of the author may not be used to endorse or promote
 *    products derived from this software without specific prior
 *    written permission.  
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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_arp.h,v 1.2 2004/05/09 07:28:22 Louis Exp $
 *
 */

#ifndef __UIP_ARP_H__
#define __UIP_ARP_H__

#include "uip.h"


/**
 * Representation of a 48-bit Ethernet address.
 */
struct uip_eth_addr {
  u8_t addr[6];
};

extern struct uip_eth_addr uip_ethaddr;

/**
 * The Ethernet header. 
 */
struct uip_eth_hdr {
  struct uip_eth_addr dest;
  struct uip_eth_addr src;
  u16_t type;
};

#define UIP_ETHTYPE_ARP 0x0806
#define UIP_ETHTYPE_IP  0x0800
#define UIP_ETHTYPE_IP6 0x86dd 


/* The uip_arp_init() function must be called before any of the other
   ARP functions. */
void uip_arp_init(void);

/* The uip_arp_ipin() function should be called whenever an IP packet
   arrives from the Ethernet. This function refreshes the ARP table or
   inserts a new mapping if none exists. The function assumes that an
   IP packet with an Ethernet header is present in the uip_buf buffer
   and that the length of the packet is in the uip_len variable. */
void uip_arp_ipin(void);

/* The uip_arp_arpin() should be called when an ARP packet is received
   by the Ethernet driver. This function also assumes that the
   Ethernet frame is present in the uip_buf buffer. When the
   uip_arp_arpin() function returns, the contents of the uip_buf
   buffer should be sent out on the Ethernet if the uip_len variable
   is > 0. */
void uip_arp_arpin(void);

/* The uip_arp_out() function should be called when an IP packet
   should be sent out on the Ethernet. This function creates an
   Ethernet header before the IP header in the uip_buf buffer. The
   Ethernet header will have the correct Ethernet MAC destination
   address filled in if an ARP table entry for the destination IP
   address (or the IP address of the default router) is present. If no
   such table entry is found, the IP packet is overwritten with an ARP
   request and we rely on TCP to retransmit the packet that was
   overwritten. In any case, the uip_len variable holds the length of
   the Ethernet frame that should be transmitted. */
void uip_arp_out(void);

/* The uip_arp_timer() function should be called every ten seconds. It
   is responsible for flushing old entries in the ARP table. */
void uip_arp_timer(void);

/** @} */

/**
 * \addtogroup uipconffunc
 * @{
 */

/**
 * Set the default router's IP address.
 *
 * \param addr A pointer to a 4-byte array containing the IP address
 * of the default router.
 *
 * \hideinitializer
 */
#define uip_setdraddr(addr) do { uip_arp_draddr[0] = addr[0]; \
                                 uip_arp_draddr[1] = addr[1]; } while(0)

/**
 * Set the netmask.
 *
 * \param addr A pointer to a 4-byte array containing the IP address
 * of the netmask.
 *
 * \hideinitializer
 */
#define uip_setnetmask(addr) do { uip_arp_netmask[0] = addr[0]; \
                                  uip_arp_netmask[1] = addr[1]; } while(0)


/**
 * Get the default router's IP address.
 *
 * \param addr A pointer to a 4-byte array that will be filled in with
 * the IP address of the default router.
 *
 * \hideinitializer
 */
#define uip_getdraddr(addr) do { addr[0] = uip_arp_draddr[0]; \
                                 addr[1] = uip_arp_draddr[1]; } while(0)

/**
 * Get the netmask.
 *
 * \param addr A pointer to a 4-byte array that will be filled in with
 * the value of the netmask.
 *
 * \hideinitializer
 */
#define uip_getnetmask(addr) do { addr[0] = uip_arp_netmask[0]; \
                                  addr[1] = uip_arp_netmask[1]; } while(0)


/**
 * Specifiy the Ethernet MAC address.
 *
 * The ARP code needs to know the MAC address of the Ethernet card in
 * order to be able to respond to ARP queries and to generate working
 * Ethernet headers.
 *
 * \note This macro only specifies the Ethernet MAC address to the ARP
 * code. It cannot be used to change the MAC address of the Ethernet
 * card.
 *
 * \param eaddr A pointer to a struct uip_eth_addr containing the
 * Ethernet MAC address of the Ethernet card.
 *
 * \hideinitializer
 */
#define uip_setethaddr(eaddr) do {uip_ethaddr.addr[0] = eaddr.addr[0]; \
                              uip_ethaddr.addr[1] = eaddr.addr[1];\
                              uip_ethaddr.addr[2] = eaddr.addr[2];\
                              uip_ethaddr.addr[3] = eaddr.addr[3];\
                              uip_ethaddr.addr[4] = eaddr.addr[4];\
                              uip_ethaddr.addr[5] = eaddr.addr[5];} while(0)

/** @} */

/**
 * \internal Internal variables that are set using the macros
 * uip_setdraddr and uip_setnetmask.
 */
#if UIP_FIXEDADDR > 0
extern const u16_t uip_arp_draddr[2], uip_arp_netmask[2];
#else
extern u16_t uip_arp_draddr[2], uip_arp_netmask[2];
#endif

#endif /* __UIP_ARP_H__ */


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费在线视频| 91精品国产欧美日韩| 中文字幕在线观看不卡视频| 成人激情视频网站| 亚洲精选一二三| 欧美日韩国产一区| 日韩av午夜在线观看| 精品精品欲导航| 成人免费的视频| 亚洲图片有声小说| 日韩一区二区在线看| 国产成人激情av| 亚洲国产cao| 亚洲精品一区二区三区福利| 成人动漫一区二区在线| 亚洲国产一二三| 欧美一区二区播放| 美国毛片一区二区| 国产精品久久久久影院色老大 | 91小视频在线免费看| 亚洲高清不卡在线观看| 精品国产乱码久久久久久1区2区| 成人综合日日夜夜| 日韩精品电影在线| 国产无人区一区二区三区| 91高清视频免费看| 激情五月激情综合网| 国产精品对白交换视频| 日韩一区二区麻豆国产| 懂色av噜噜一区二区三区av| 亚洲一区二区三区视频在线播放 | 99久久精品99国产精品| 日本中文一区二区三区| 中文字幕日韩av资源站| 555www色欧美视频| 不卡电影免费在线播放一区| 免费在线成人网| 亚洲精品国产无天堂网2021| 精品久久久久久最新网址| 欧美亚日韩国产aⅴ精品中极品| 韩国中文字幕2020精品| 亚洲与欧洲av电影| 中文字幕一区二区三区四区不卡| 日韩午夜av电影| 91成人在线精品| 成人激情免费网站| 韩国女主播一区| 日本午夜精品一区二区三区电影 | 亚洲成人午夜影院| 国产精品久99| 久久久久久久久免费| 日韩视频123| 欧美日韩精品专区| 色菇凉天天综合网| 成人国产精品免费观看| 国产成人免费9x9x人网站视频| 奇米精品一区二区三区在线观看一| 国产精品久久久久久久久动漫 | 国内精品视频666| 午夜av电影一区| 一区二区三区国产豹纹内裤在线| 中文字幕av不卡| 国产三级精品三级在线专区| 91精品国产免费| 欧美一区二区私人影院日本| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 懂色av一区二区在线播放| 国产精品一区在线观看乱码 | 色综合久久久久综合体| 成人黄动漫网站免费app| 国产不卡视频一区二区三区| 国产美女一区二区| 国产一区二区在线看| 国产一区二区三区电影在线观看| 理论片日本一区| 国产在线一区二区综合免费视频| 看电影不卡的网站| 久热成人在线视频| 国内精品伊人久久久久av影院| 久久国产免费看| 国产美女主播视频一区| 国产成人一级电影| 99久久精品国产导航| 色综合天天视频在线观看| 色婷婷激情综合| 69精品人人人人| 精品久久一区二区| 久久亚洲捆绑美女| 国产精品久久久久9999吃药| 亚洲欧美日韩综合aⅴ视频| 亚洲国产视频在线| 麻豆国产精品官网| 国产成人免费视频网站高清观看视频| 国产成人精品免费在线| 91麻豆精品在线观看| 欧美在线免费观看视频| 日韩欧美中文字幕一区| 久久精品在这里| 洋洋成人永久网站入口| 秋霞电影一区二区| 国产不卡视频在线播放| 日本高清不卡在线观看| 制服丝袜在线91| 久久精品水蜜桃av综合天堂| 一区精品在线播放| 丝袜脚交一区二区| 国产精品一区在线观看你懂的| 99国产精品久久久久久久久久| 欧美视频一区在线| 精品精品国产高清a毛片牛牛 | 日韩欧美国产一二三区| 国产女人水真多18毛片18精品视频| 中文字幕欧美一| 蜜桃av噜噜一区| 91在线无精精品入口| 欧美一区三区四区| 中文字幕综合网| 免费高清视频精品| 91麻豆自制传媒国产之光| 精品欧美一区二区在线观看| 亚洲欧美国产毛片在线| 蜜臀91精品一区二区三区| 99久久国产免费看| 欧美一二三区在线观看| 亚洲精品乱码久久久久| 国内成人精品2018免费看| 欧美怡红院视频| 国产精品天干天干在观线| 另类小说综合欧美亚洲| 欧美私人免费视频| 国产精品免费久久| 精品综合免费视频观看| 欧美唯美清纯偷拍| 1024国产精品| 成人午夜在线免费| 精品福利av导航| 日韩1区2区日韩1区2区| 欧美性大战久久| 亚洲天堂精品在线观看| 国产乱码精品一区二区三区忘忧草| 欧美日韩美少妇| 亚洲黄色在线视频| 成人动漫精品一区二区| 久久综合给合久久狠狠狠97色69| 五月综合激情婷婷六月色窝| 色婷婷av久久久久久久| 综合亚洲深深色噜噜狠狠网站| 国产精品自拍av| 精品sm捆绑视频| 美女国产一区二区| 91精品国产综合久久久久久久久久| 亚洲综合免费观看高清在线观看| 不卡一区在线观看| 欧美激情在线免费观看| 激情综合五月婷婷| 欧美草草影院在线视频| 奇米影视7777精品一区二区| 91精品国产一区二区三区香蕉| 亚洲高清中文字幕| 精品污污网站免费看| 亚洲国产婷婷综合在线精品| 欧美三级在线播放| 亚洲电影在线播放| 欧美精品亚洲一区二区在线播放| 亚洲动漫第一页| 欧美老肥妇做.爰bbww视频| 亚洲成va人在线观看| 欧美日韩国产一二三| 午夜激情一区二区| 欧美福利一区二区| 美女网站色91| 精品黑人一区二区三区久久| 国产一区二区在线看| 国产欧美一区二区三区在线看蜜臀| 国产成人免费av在线| 国产精品女人毛片| 日本高清不卡视频| 午夜免费久久看| 日韩欧美国产小视频| 国产精品一区二区三区乱码 | 久久综合狠狠综合久久综合88| 国产综合色视频| 欧美韩国日本不卡| 色婷婷亚洲婷婷| 日韩高清一级片| 欧美精品一区二区不卡| 国产成人av电影在线播放| 中文字幕在线播放不卡一区| 欧美性色欧美a在线播放| 美女视频免费一区| 国产精品入口麻豆九色| 欧美最猛黑人xxxxx猛交| 蜜臀av一区二区在线观看 | 国产精品天天看| 欧美在线999| 精品一区二区三区在线观看| 国产欧美一区视频| 欧美日韩在线直播| 国产福利精品一区| 亚洲午夜三级在线|