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

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

?? ip.h

?? 一個單片機實現以太網通信的程序
?? H
字號:
/*
 * Copyright (c) 2001-2003 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. 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 lwIP TCP/IP stack.
 * 
 * Author: Adam Dunkels <adam@sics.se>
 *
 */
#ifndef __LWIP_IP_H__
#define __LWIP_IP_H__

#include "lwip/arch.h"

#include "lwip/def.h"
#include "lwip/pbuf.h"
#include "lwip/ip_addr.h"

#include "lwip/err.h"

struct netif;

void ip_init(void);
u8_t ip_lookup(void *header, struct netif *inp);
struct netif *ip_route(struct ip_addr *dest);
err_t ip_input(struct pbuf *p, struct netif *inp);
err_t ip_output(struct pbuf *p, struct ip_addr *src, struct ip_addr *dest,
		u8_t ttl, u8_t proto);
err_t ip_output_if(struct pbuf *p, struct ip_addr *src, struct ip_addr *dest,
		   u8_t ttl, u8_t proto,
		   struct netif *netif);

#define IP_HLEN 20

#define IP_PROTO_ICMP 1
#define IP_PROTO_UDP 17
#define IP_PROTO_UDPLITE 170
#define IP_PROTO_TCP 6

/* This is passed as the destination address to ip_output_if (not
   to ip_output), meaning that an IP header already is constructed
   in the pbuf. This is used when TCP retransmits. */
#ifdef IP_HDRINCL
#undef IP_HDRINCL
#endif /* IP_HDRINCL */
#define IP_HDRINCL  NULL

#ifdef PACK_STRUCT_USE_INCLUDES
#  include "arch/bpstruct.h"
#endif
PACK_STRUCT_BEGIN
struct ip_hdr {
  /* version / header length / type of service */
  PACK_STRUCT_FIELD(u16_t _v_hl_tos);
  /* total length */
  PACK_STRUCT_FIELD(u16_t _len);
  /* identification */
  PACK_STRUCT_FIELD(u16_t _id);
  /* fragment offset field */
  PACK_STRUCT_FIELD(u16_t _offset);
#define IP_RF 0x8000        /* reserved fragment flag */
#define IP_DF 0x4000        /* dont fragment flag */
#define IP_MF 0x2000        /* more fragments flag */
#define IP_OFFMASK 0x1fff   /* mask for fragmenting bits */
  /* time to live / protocol*/
  PACK_STRUCT_FIELD(u16_t _ttl_proto);
  /* checksum */
  PACK_STRUCT_FIELD(u16_t _chksum);
  /* source and destination IP addresses */
  PACK_STRUCT_FIELD(struct ip_addr src);
  PACK_STRUCT_FIELD(struct ip_addr dest); 
} PACK_STRUCT_STRUCT;
PACK_STRUCT_END
#ifdef PACK_STRUCT_USE_INCLUDES
#  include "arch/epstruct.h"
#endif

#define IPH_V(hdr)  (ntohs((hdr)->_v_hl_tos) >> 12)
#define IPH_HL(hdr) ((ntohs((hdr)->_v_hl_tos) >> 8) & 0x0f)
#define IPH_TOS(hdr) (htons((ntohs((hdr)->_v_hl_tos) & 0xff)))
#define IPH_LEN(hdr) ((hdr)->_len)
#define IPH_ID(hdr) ((hdr)->_id)
#define IPH_OFFSET(hdr) ((hdr)->_offset)
#define IPH_TTL(hdr) (ntohs((hdr)->_ttl_proto) >> 8)
#define IPH_PROTO(hdr) (ntohs((hdr)->_ttl_proto) & 0xff)
#define IPH_CHKSUM(hdr) ((hdr)->_chksum)

#define IPH_VHLTOS_SET(hdr, v, hl, tos) (hdr)->_v_hl_tos = (htons(((v) << 12) | ((hl) << 8) | (tos)))
#define IPH_LEN_SET(hdr, len) (hdr)->_len = (len)
#define IPH_ID_SET(hdr, id) (hdr)->_id = (id)
#define IPH_OFFSET_SET(hdr, off) (hdr)->_offset = (off)
#define IPH_TTL_SET(hdr, ttl) (hdr)->_ttl_proto = (htons(IPH_PROTO(hdr) | ((ttl) << 8)))
#define IPH_PROTO_SET(hdr, proto) (hdr)->_ttl_proto = (htons((proto) | (IPH_TTL(hdr) << 8)))
#define IPH_CHKSUM_SET(hdr, chksum) (hdr)->_chksum = (chksum)

#if IP_DEBUG
void ip_debug_print(struct pbuf *p);
#endif /* IP_DEBUG */

#endif /* __LWIP_IP_H__ */


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美私人免费视频| 成人看片黄a免费看在线| 亚洲黄色免费网站| 亚洲精品成人悠悠色影视| 国产精品美女视频| 成人免费一区二区三区视频| 国产精品嫩草99a| 国产精品色噜噜| 国产精品美女一区二区三区 | 亚洲人xxxx| 一区二区免费看| 午夜影院在线观看欧美| 丝袜国产日韩另类美女| 美国三级日本三级久久99| 紧缚奴在线一区二区三区| 国产精品99久久不卡二区| 国产凹凸在线观看一区二区| av亚洲精华国产精华精华| 91免费视频网址| 欧美日本精品一区二区三区| 日韩一区二区免费视频| 国产精品无遮挡| 亚洲国产精品久久一线不卡| 久久国产精品99精品国产| 高清beeg欧美| 欧美日韩在线播放三区| 久久免费视频一区| 一区av在线播放| 国产精品中文字幕日韩精品| 91在线无精精品入口| 91精品国产综合久久精品| 欧美国产一区二区| 午夜精品视频一区| 成人精品免费看| 在线综合+亚洲+欧美中文字幕| 久久影院电视剧免费观看| 亚洲人成在线观看一区二区| 久久精品999| 色爱区综合激月婷婷| 精品国精品国产| 亚洲精品菠萝久久久久久久| 另类小说综合欧美亚洲| 一本色道**综合亚洲精品蜜桃冫| 欧美成人在线直播| 调教+趴+乳夹+国产+精品| 色视频一区二区| 国产精品久久午夜| 国产精一区二区三区| 在线不卡一区二区| 亚洲黄色尤物视频| 成人午夜视频在线观看| 欧美成人女星排行榜| 亚洲成人中文在线| 色婷婷av一区| 亚洲素人一区二区| 成人av资源在线| 国产亚洲欧洲997久久综合 | 欧美电影在线免费观看| 亚洲色图视频网站| 成人性生交大合| 日韩精品一区二区三区四区| 午夜不卡av免费| 在线观看免费视频综合| 亚洲男人的天堂网| 97精品久久久午夜一区二区三区 | 亚洲色图欧美偷拍| 丰满放荡岳乱妇91ww| 久久先锋影音av鲁色资源| 日韩电影一二三区| 91精品国产91久久综合桃花| 亚洲在线免费播放| 欧美色偷偷大香| 日韩精品视频网| 91精品国产aⅴ一区二区| 日本午夜精品一区二区三区电影| 欧美亚男人的天堂| 日韩电影一区二区三区| 91精品国产色综合久久ai换脸| 午夜精品福利在线| 日韩一区二区三区四区| 美日韩黄色大片| 欧美精品一区二区三区一线天视频| 日韩成人av影视| 精品福利一区二区三区| 国产一区二区视频在线| 国产精品久久久久久久岛一牛影视| 成人免费观看视频| 亚洲黄色性网站| 制服丝袜亚洲精品中文字幕| 久久99国产精品成人| 久久久精品tv| 日本精品裸体写真集在线观看| 亚洲综合激情网| 日韩你懂的电影在线观看| 国产一区二区三区免费| 国产精品久久久久久久久免费丝袜 | 国产成人精品免费在线| 国产精品白丝在线| 欧美日韩亚洲综合在线 | 蜜桃一区二区三区在线观看| 欧美岛国在线观看| 成人深夜在线观看| 亚洲在线观看免费| 久久天天做天天爱综合色| 99久久精品国产一区二区三区| 亚洲国产精品一区二区久久恐怖片 | 成人av电影观看| 亚洲一二三区视频在线观看| 日韩精品一区二区三区中文不卡 | 国产91富婆露脸刺激对白| 亚洲精品自拍动漫在线| 欧美一区二区三区视频免费播放| 久久国产麻豆精品| 《视频一区视频二区| 欧美夫妻性生活| 91亚洲精品久久久蜜桃网站| 免费精品视频在线| 亚洲美女精品一区| 久久精品一区二区| 欧美福利一区二区| 在线观看视频一区二区欧美日韩| 久久99久久99精品免视看婷婷 | 精品对白一区国产伦| 欧美亚洲国产一区二区三区va| 久久99国产乱子伦精品免费| 亚洲精品日韩综合观看成人91| 精品国产在天天线2019| 7777精品久久久大香线蕉| 成人app网站| 国产伦理精品不卡| 琪琪久久久久日韩精品| 亚洲一区二区三区四区在线免费观看| 久久精品日产第一区二区三区高清版| 欧美日韩亚洲丝袜制服| 91福利在线导航| 99久久精品国产毛片| 成人午夜电影网站| 国产精品一二三| 国产一区二区三区精品视频| 日日夜夜精品免费视频| 亚洲一区二区3| 中文字幕字幕中文在线中不卡视频| 国产亚洲一区二区在线观看| 亚洲精品在线三区| 精品国产欧美一区二区| 日韩美女视频在线| 精品sm在线观看| 精品处破学生在线二十三| www国产精品av| 久久午夜羞羞影院免费观看| 久久久亚洲精华液精华液精华液| 精品国产精品网麻豆系列 | 一区免费观看视频| 国产精品久久久久9999吃药| 国产精品三级久久久久三级| 国产日韩高清在线| 国产精品伦理在线| 一区二区三区精品| 亚洲成人1区2区| 免费观看日韩电影| 国产一区美女在线| 粉嫩aⅴ一区二区三区四区五区| 福利一区二区在线| 色综合久久综合中文综合网| 一本高清dvd不卡在线观看| 欧美午夜电影一区| 欧美一区二区三区四区高清| 日韩一级黄色大片| 国产婷婷色一区二区三区| 中文字幕日本乱码精品影院| 一区二区高清免费观看影视大全| 亚洲综合丝袜美腿| 麻豆成人久久精品二区三区红 | 综合久久给合久久狠狠狠97色 | 一区二区三区精品在线| 午夜精品久久久久影视| 久久成人18免费观看| 国产精品77777竹菊影视小说| 成人综合婷婷国产精品久久| 一本大道久久a久久综合| 7777精品伊人久久久大香线蕉的 | 日韩电影一区二区三区| 国产精品一卡二| 色伊人久久综合中文字幕| 欧美精选午夜久久久乱码6080| 日韩欧美另类在线| 最新不卡av在线| 蜜臀99久久精品久久久久久软件| 福利视频网站一区二区三区| 欧美日韩亚洲不卡| 国产区在线观看成人精品| 亚洲一区二区三区不卡国产欧美| 精品在线一区二区| 欧洲中文字幕精品| 国产精品天干天干在观线| 日韩av二区在线播放| 一本大道av伊人久久综合| 久久亚洲综合色| 日本不卡在线视频| 欧美中文字幕一区二区三区|