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

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

?? slhc.h

?? TCPIP協議包
?? H
字號:
#ifndef _SLHC_H
#define _SLHC_H
/*
 * Definitions for tcp compression routines.
 *
 */
#ifndef	_GLOBAL_H
#include "global.h"
#endif

#ifndef	_MBUF_H
#include "mbuf.h"
#endif

#ifndef	_IP_H
#include "ip.h"
#endif

#ifndef	_TCP_H
#include "tcp.h"
#endif

/*
 * 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".
 */

/* SLIP compression masks for len/vers byte */
#define SL_TYPE_IP 0x40
#define SL_TYPE_UNCOMPRESSED_TCP 0x70
#define SL_TYPE_COMPRESSED_TCP 0x80
#define SL_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

/*
 * data type and sizes conversion assumptions:
 *
 *	VJ code		KA9Q style	generic
 *	u_char		byte_t		unsigned char	 8 bits
 *	u_short		uint16		unsigned short	16 bits
 *	u_int		uint16		unsigned short	16 bits
 *	u_long		unsigned long	unsigned long	32 bits
 *	int		int32		long		32 bits
 */

/*
 * "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 {
	byte_t	this;		/* connection id number (xmit) */
	struct cstate *next;	/* next in ring (xmit) */
	struct ip cs_ip;	/* ip/tcp hdr from most recent packet */
	struct tcp cs_tcp;
};

/*
 * all the state data for one serial line (we need one of these per line).
 */
struct slcompress {
	struct cstate *tstate;	/* transmit connection states (array)*/
	struct cstate *rstate;	/* receive connection states (array)*/

	byte_t tslot_limit;	/* highest transmit slot id (0-l)*/
	byte_t rslot_limit;	/* highest receive slot id (0-l)*/

	byte_t xmit_oldest;	/* oldest xmit in ring */
	byte_t xmit_current;	/* most recent xmit id */
	byte_t recv_current;	/* most recent rcvd id */

	byte_t flags;
#define SLF_TOSS	0x01	/* tossing rcvd frames until id received */

	int32 sls_o_nontcp;	/* outbound non-TCP packets */
	int32 sls_o_tcp;	/* outbound TCP packets */
	int32 sls_o_uncompressed;	/* outbound uncompressed packets */
	int32 sls_o_compressed;	/* outbound compressed packets */
	int32 sls_o_searches;	/* searches for connection state */
	int32 sls_o_misses;	/* times couldn't find conn. state */

	int32 sls_i_uncompressed;	/* inbound uncompressed packets */
	int32 sls_i_compressed;	/* inbound compressed packets */
	int32 sls_i_error;	/* inbound error packets */
	int32 sls_i_tossed;	/* inbound packets tossed because of error */
};

/* In slhc.c: */
struct slcompress *slhc_init(int rslots, int tslots);
void slhc_free(struct slcompress *comp);

int slhc_compress(struct slcompress *comp,
	struct mbuf **bpp, int compress_cid);
int slhc_uncompress(struct slcompress *comp,
	struct mbuf **bpp);
int slhc_remember(struct slcompress *comp,
	struct mbuf **bpp);
int slhc_toss(struct slcompress *comp);

void slhc_i_status(struct slcompress *comp);
void slhc_o_status(struct slcompress *comp);

#endif	/* _SLHC_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情一区二区三区蜜桃视频| 日韩精品专区在线影院观看| 日韩电影在线观看一区| 亚洲色图欧美在线| 亚洲人午夜精品天堂一二香蕉| 欧美国产激情二区三区| 欧美国产日本视频| 国产精品区一区二区三| 国产精品三级在线观看| 国产精品美女一区二区在线观看| 中文字幕成人av| 中文字幕日韩精品一区| 中文字幕永久在线不卡| 综合中文字幕亚洲| 亚洲午夜成aⅴ人片| 视频一区二区不卡| 日韩vs国产vs欧美| 国产一区二区不卡在线 | 色哟哟国产精品免费观看| 色视频成人在线观看免| 欧美三级韩国三级日本一级| 91精品国产丝袜白色高跟鞋| 精品国产麻豆免费人成网站| 国产精品视频第一区| 亚洲精品中文字幕乱码三区| 亚洲一区在线视频| 免费xxxx性欧美18vr| 国产成人av电影免费在线观看| 日本高清成人免费播放| 欧美一区二区日韩一区二区| 久久久国产精品午夜一区ai换脸| 国产精品视频你懂的| 午夜精品视频一区| 国产一区二区三区免费观看| 91精品福利在线| 欧美va在线播放| 亚洲男人天堂av网| 美女视频黄 久久| 9人人澡人人爽人人精品| 欧美日韩国产高清一区二区三区 | 国产精品欧美久久久久无广告| 一区二区三区自拍| 国产精品中文字幕日韩精品 | 琪琪一区二区三区| 91麻豆免费视频| 欧美一级精品在线| 亚洲人快播电影网| 国产精品亚洲视频| 日韩一级大片在线观看| 亚洲欧洲国产日韩| 国产麻豆精品在线| 日韩欧美色电影| 亚洲一级不卡视频| 成人美女视频在线观看| 欧美va在线播放| 五月天中文字幕一区二区| 成人美女在线观看| 国产嫩草影院久久久久| 精品一二三四在线| 7777精品伊人久久久大香线蕉完整版| 欧美激情一区不卡| 国产精品中文欧美| 日韩视频中午一区| 亚洲第一会所有码转帖| 不卡视频免费播放| 国产视频一区二区在线观看| 蜜臀精品一区二区三区在线观看| 色婷婷亚洲综合| 日本一区二区三区电影| 久久www免费人成看片高清| 91精品免费在线观看| 一区二区三区在线免费| 99精品欧美一区二区三区小说| 日韩欧美专区在线| 日韩av电影天堂| 欧美日本在线播放| 日韩激情av在线| 91精品国产全国免费观看| 亚洲综合无码一区二区| 欧美无砖专区一中文字| 亚洲sss视频在线视频| 欧美日韩专区在线| 亚洲va欧美va国产va天堂影院| 欧美美女一区二区三区| 男人操女人的视频在线观看欧美| 欧美色图激情小说| 日韩影院精彩在线| 精品蜜桃在线看| 国产v日产∨综合v精品视频| 国产日产亚洲精品系列| www.日韩精品| 亚洲福利电影网| 日韩欧美在线影院| 国产不卡在线一区| 亚洲麻豆国产自偷在线| 欧美日韩一区成人| 毛片基地黄久久久久久天堂| 久久新电视剧免费观看| 成人性生交大片免费看视频在线| 国产精品久久久久7777按摩| 欧美亚洲一区二区在线| 蜜臀av性久久久久蜜臀aⅴ| 久久亚洲免费视频| 色视频成人在线观看免| 欧美96一区二区免费视频| 国产日韩精品一区二区浪潮av| 成人18视频在线播放| 亚洲高清在线精品| 久久久精品影视| 在线欧美日韩精品| 韩国女主播一区| 亚洲免费在线视频一区 二区| 精品视频在线视频| 国产主播一区二区三区| 依依成人综合视频| 精品福利视频一区二区三区| 91免费观看国产| 蜜桃视频在线一区| 中文字幕亚洲一区二区av在线| 91精品国产一区二区三区| 波多野结衣一区二区三区 | 日本高清不卡一区| 国产在线不卡视频| 亚洲国产日韩综合久久精品| 国产亚洲人成网站| 欧美日本一区二区在线观看| 成人黄色国产精品网站大全在线免费观看 | 午夜影视日本亚洲欧洲精品| 日本一区二区三区在线不卡 | 国产成人av影院| 五月开心婷婷久久| 国产精品久久久久久久久久免费看| 欧美午夜一区二区三区 | 午夜视频一区二区| 国产精品不卡在线观看| 精品美女一区二区| 欧美挠脚心视频网站| 在线亚洲高清视频| 91亚洲精品久久久蜜桃网站| 国产一区91精品张津瑜| 捆绑变态av一区二区三区| 日韩国产在线一| 亚洲国产精品久久不卡毛片| 亚洲欧洲日产国码二区| 亚洲国产精品二十页| 国产免费久久精品| 久久久噜噜噜久久人人看| 欧美一区二区三区思思人| 欧美日韩一级片在线观看| 欧美性受xxxx黑人xyx| 91网站视频在线观看| av亚洲精华国产精华| 成人黄色片在线观看| 国产凹凸在线观看一区二区| 国产99精品在线观看| 国产高清久久久久| 国产盗摄女厕一区二区三区| 国产米奇在线777精品观看| 国模少妇一区二区三区| 国产一区在线看| 粉嫩一区二区三区性色av| 成人av在线电影| 不卡免费追剧大全电视剧网站| 93久久精品日日躁夜夜躁欧美| 99r国产精品| 欧美日韩综合在线| 91精品国产免费| 精品久久久久久综合日本欧美| 26uuuu精品一区二区| 亚洲国产成人自拍| 亚洲自拍偷拍九九九| 日日夜夜精品视频免费| 美女视频第一区二区三区免费观看网站| 美女脱光内衣内裤视频久久影院| 精品一区二区精品| 91在线观看成人| 欧美日韩成人一区二区| 精品日产卡一卡二卡麻豆| 久久精品免费在线观看| 一区二区三区在线免费| 久久精品国产在热久久| 成人av免费观看| 欧美日本国产视频| 久久伊人蜜桃av一区二区| 最新国产精品久久精品| 日韩成人一区二区三区在线观看| 国内成人精品2018免费看| 不卡的av网站| 555www色欧美视频| 国产精品久久久久久久久晋中 | 国产精品综合视频| 色婷婷av久久久久久久| 久久综合给合久久狠狠狠97色69| 亚洲天堂免费在线观看视频| 美女免费视频一区二区| 日本乱码高清不卡字幕| 国产亚洲va综合人人澡精品| 亚洲成年人网站在线观看| av在线不卡电影| wwwwww.欧美系列|