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

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

?? vj.h

?? 包含lwip這個精簡IP協議棧的ucos源代碼.
?? H
字號:
/*
 * Definitions for tcp compression routines.
 *
 * $Id: vj.h,v 1.2 2005/01/18 09:00:41 millin Exp $
 *
 * Copyright (c) 1989 Regents of the University of California.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms are permitted
 * provided that the above copyright notice and this paragraph are
 * duplicated in all such forms and that any documentation,
 * advertising materials, and other materials related to such
 * distribution and use acknowledge that the software was developed
 * by the University of California, Berkeley.  The name of the
 * University may not be used to endorse or promote products derived
 * from this software without specific prior written permission.
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 *
 *	Van Jacobson (van@helios.ee.lbl.gov), Dec 31, 1989:
 *	- Initial distribution.
 */

#ifndef VJ_H
#define VJ_H

#include "vjbsdhdr.h"

#define MAX_SLOTS	16			/* must be > 2 and < 256 */
#define MAX_HDR		128

/*
 * Compressed packet format:
 *
 * The first octet contains the packet type (top 3 bits), TCP
 * 'push' bit, and flags that indicate which of the 4 TCP sequence
 * numbers have changed (bottom 5 bits).  The next octet is a
 * conversation number that associates a saved IP/TCP header with
 * the compressed packet.  The next two octets are the TCP checksum
 * from the original datagram.  The next 0 to 15 octets are
 * sequence number changes, one change per bit set in the header
 * (there may be no changes and there are two special cases where
 * the receiver implicitly knows what changed -- see below).
 * 
 * There are 5 numbers which can change (they are always inserted
 * in the following order): TCP urgent pointer, window,
 * acknowlegement, sequence number and IP ID.  (The urgent pointer
 * is different from the others in that its value is sent, not the
 * change in value.)  Since typical use of SLIP links is biased
 * toward small packets (see comments on MTU/MSS below), changes
 * use a variable length coding with one octet for numbers in the
 * range 1 - 255 and 3 octets (0, MSB, LSB) for numbers in the
 * range 256 - 65535 or 0.  (If the change in sequence number or
 * ack is more than 65535, an uncompressed packet is sent.)
 */

/*
 * Packet types (must not conflict with IP protocol version)
 *
 * The top nibble of the first octet is the packet type.  There are
 * three possible types: IP (not proto TCP or tcp with one of the
 * control flags set); uncompressed TCP (a normal IP/TCP packet but
 * with the 8-bit protocol field replaced by an 8-bit connection id --
 * this type of packet syncs the sender & receiver); and compressed
 * TCP (described above).
 *
 * LSB of 4-bit field is TCP "PUSH" bit (a worthless anachronism) and
 * is logically part of the 4-bit "changes" field that follows.  Top
 * three bits are actual packet type.  For backward compatibility
 * and in the interest of conserving bits, numbers are chosen so the
 * IP protocol version number (4) which normally appears in this nibble
 * means "IP packet".
 */

/* packet types */
#define TYPE_IP 0x40
#define TYPE_UNCOMPRESSED_TCP 0x70
#define TYPE_COMPRESSED_TCP 0x80
#define TYPE_ERROR 0x00

/* Bits in first octet of compressed packet */
#define NEW_C	0x40	/* flag bits for what changed in a packet */
#define NEW_I	0x20
#define NEW_S	0x08
#define NEW_A	0x04
#define NEW_W	0x02
#define NEW_U	0x01

/* reserved, special-case values of above */
#define SPECIAL_I (NEW_S|NEW_W|NEW_U)		/* echoed interactive traffic */
#define SPECIAL_D (NEW_S|NEW_A|NEW_W|NEW_U)	/* unidirectional data */
#define SPECIALS_MASK (NEW_S|NEW_A|NEW_W|NEW_U)

#define TCP_PUSH_BIT 0x10


/*
 * "state" data for each active tcp conversation on the wire.  This is
 * basically a copy of the entire IP/TCP header from the last packet
 * we saw from the conversation together with a small identifier
 * the transmit & receive ends of the line use to locate saved header.
 */
struct cstate {
    struct cstate *cs_next;	/* next most recently used state (xmit only) */
    u_short cs_hlen;		/* size of hdr (receive only) */
    u_char cs_id;			/* connection # associated with this state */
    u_char cs_filler;
    union {
		char csu_hdr[MAX_HDR];
		struct ip csu_ip;	/* ip/tcp hdr from most recent packet */
    } vjcs_u;
};
#define cs_ip vjcs_u.csu_ip
#define cs_hdr vjcs_u.csu_hdr


struct vjstat {
    unsigned long vjs_packets;			/* outbound packets */
    unsigned long vjs_compressed;		/* outbound compressed packets */
    unsigned long vjs_searches;			/* searches for connection state */
    unsigned long vjs_misses;			/* times couldn't find conn. state */
    unsigned long vjs_uncompressedin;	/* inbound uncompressed packets */
    unsigned long vjs_compressedin;		/* inbound compressed packets */
    unsigned long vjs_errorin;			/* inbound unknown type packets */
    unsigned long vjs_tossed;			/* inbound packets tossed because of error */
};

/*
 * all the state data for one serial line (we need one of these per line).
 */
struct vjcompress {
    struct cstate *last_cs;	/* most recently used tstate */
    u_char last_recv;		/* last rcvd conn. id */
    u_char last_xmit;		/* last sent conn. id */
    u_short flags;
    u_char maxSlotIndex;
    u_char compressSlot;	/* Flag indicating OK to compress slot ID. */
#if LINK_STATS
    struct vjstat stats;
#endif
    struct cstate tstate[MAX_SLOTS];	/* xmit connection states */
    struct cstate rstate[MAX_SLOTS];	/* receive connection states */
};

/* flag values */
#define VJF_TOSS 1U		/* tossing rcvd frames because of input err */

extern void  vj_compress_init (struct vjcompress *comp);
extern u_int vj_compress_tcp (struct vjcompress *comp, struct pbuf *pb);
extern void  vj_uncompress_err (struct vjcompress *comp);
extern int vj_uncompress_uncomp(struct pbuf *nb, struct vjcompress *comp);
extern int vj_uncompress_tcp(struct pbuf **nb, struct vjcompress *comp);

#endif /* VJ_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品色综合| 成人黄色软件下载| 678五月天丁香亚洲综合网| 亚洲精品国久久99热| 91福利国产精品| 五月婷婷激情综合网| 欧美系列一区二区| 日本中文在线一区| 精品盗摄一区二区三区| 国产高清不卡一区二区| 亚洲视频你懂的| 欧美理论片在线| 国产一区二区三区| 成人欧美一区二区三区视频网页 | 欧美成人精品福利| 国产美女精品在线| 一区在线观看免费| 欧美美女一区二区三区| 国产又粗又猛又爽又黄91精品| 欧美高清在线一区| 欧美性色黄大片| 精彩视频一区二区| 国产精品第五页| 91精品婷婷国产综合久久性色| 国产一区二区三区在线观看精品| 国产精品每日更新| 在线综合亚洲欧美在线视频| 国产69精品久久久久毛片| 亚洲一区中文在线| 久久亚洲捆绑美女| 欧美综合亚洲图片综合区| 国产在线一区观看| 亚洲午夜一区二区| 国产片一区二区| 欧美群妇大交群中文字幕| 国产99精品视频| 免费人成在线不卡| 亚洲黄色小说网站| 日韩 欧美一区二区三区| 久久精品亚洲乱码伦伦中文| 欧美影院午夜播放| 国产**成人网毛片九色| 热久久国产精品| 亚洲精品中文在线影院| 精品国产一区二区亚洲人成毛片| 91视频一区二区| 国产美女视频91| 青青草国产精品亚洲专区无| 亚洲视频免费观看| 国产亚洲污的网站| 欧美电影免费观看高清完整版 | 亚洲综合男人的天堂| 久久久久久久av麻豆果冻| 91麻豆精品国产综合久久久久久| 91蜜桃在线免费视频| 国产精品影视在线| 久久精品国产秦先生| 亚洲高清不卡在线观看| 亚洲欧美日韩在线不卡| 国产精品三级电影| 久久精品夜色噜噜亚洲aⅴ| 日韩免费观看高清完整版| 欧美日韩视频在线一区二区| 日本久久电影网| 91影院在线观看| av亚洲精华国产精华精| 春色校园综合激情亚洲| 国产精品一区二区久久不卡| 国产自产2019最新不卡| 久久se这里有精品| 麻豆精品久久精品色综合| 午夜精品福利一区二区蜜股av| 亚洲精品成人悠悠色影视| 国产精品久久久久久久久搜平片 | 精品国产一区二区三区av性色| 亚洲视频在线观看三级| 中文子幕无线码一区tr| 国产日韩欧美精品一区| 久久免费看少妇高潮| 久久久久久毛片| 国产午夜亚洲精品羞羞网站| 国产欧美精品一区| 国产精品久久久久久久久免费樱桃| 国产婷婷色一区二区三区| 国产日产欧美一区二区视频| 中文字幕欧美国产| 国产精品久久久久久久久免费桃花| 自拍偷拍欧美激情| 亚洲国产日产av| 视频精品一区二区| 免费成人av资源网| 国产精品乡下勾搭老头1| 成人免费黄色大片| 一本高清dvd不卡在线观看| 欧洲亚洲国产日韩| 欧美日韩在线免费视频| 日韩一区二区免费在线电影| 欧美精品一区视频| 中文字幕一区二区三| 亚洲国产欧美一区二区三区丁香婷| 亚洲自拍偷拍图区| 免费看欧美女人艹b| 国产91对白在线观看九色| 色妹子一区二区| 91精品国产综合久久久久久| 精品国产乱码久久久久久1区2区| 国产偷国产偷亚洲高清人白洁| 亚洲欧美视频在线观看视频| 日韩二区三区在线观看| 国产精品一区二区免费不卡| 91在线无精精品入口| 欧美日韩大陆在线| 国产偷国产偷精品高清尤物 | 亚洲123区在线观看| 日本aⅴ免费视频一区二区三区| 国产精品一区二区三区四区| 91亚洲男人天堂| 日韩一区二区三区三四区视频在线观看| 国产清纯在线一区二区www| 亚洲一线二线三线视频| 国产一区二区三区在线观看精品 | 99re亚洲国产精品| 欧美人伦禁忌dvd放荡欲情| 久久久不卡网国产精品二区| 亚洲影视在线播放| 国产mv日韩mv欧美| 欧美一区二区三区视频免费播放| 欧美国产激情二区三区| 免费成人av资源网| 欧美亚洲高清一区二区三区不卡| 久久久美女毛片| 五月天久久比比资源色| 99在线精品视频| 久久久久久久久99精品| 日韩电影在线看| 日本精品裸体写真集在线观看| 久久亚洲一级片| 日韩av中文字幕一区二区| 一本久道久久综合中文字幕| 国产欧美日韩精品在线| 久久国产欧美日韩精品| 欧美探花视频资源| 亚洲视频免费在线| 成人高清av在线| 久久久久久久久久电影| 男女视频一区二区| 欧美日韩精品一区二区天天拍小说| 欧美激情在线一区二区| 久久电影国产免费久久电影 | 日韩亚洲欧美成人一区| 亚洲精品网站在线观看| 成人av电影免费在线播放| 2021中文字幕一区亚洲| 久久精品免费看| 日韩一区二区视频| 性做久久久久久免费观看欧美| 日本高清不卡在线观看| 成人欧美一区二区三区视频网页| 国产aⅴ综合色| 国产精品色眯眯| 国产美女精品一区二区三区| 精品粉嫩超白一线天av| 久久爱www久久做| 亚洲精品一区二区三区在线观看| 轻轻草成人在线| 91精品欧美久久久久久动漫| 日韩电影在线一区| 欧美大片顶级少妇| 激情深爱一区二区| 国产欧美日韩麻豆91| 国产成人av福利| 国产精品你懂的在线| 成人avav影音| 亚洲综合视频在线| 欧美精品日韩精品| 蜜桃精品在线观看| 久久久精品天堂| 91亚洲精品久久久蜜桃网站| 一区二区三区在线免费视频| 在线观看欧美日本| 婷婷成人激情在线网| 91精品国产入口在线| 精品一区二区久久久| 欧美激情一区二区三区不卡 | 在线视频一区二区三区| 亚洲国产aⅴ成人精品无吗| 8x8x8国产精品| 国产一区二区不卡在线| 国产精品色婷婷久久58| 91成人免费电影| 日本怡春院一区二区| 午夜国产精品一区| 精品99999| 91麻豆成人久久精品二区三区| 亚洲图片一区二区| 精品久久久久久久久久久久久久久| 成人免费电影视频| 亚洲一区二区四区蜜桃| 欧美xxxx在线观看| 色综合中文字幕|