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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gunzip.c

?? bootloader
?? C
?? 第 1 頁 / 共 2 頁
字號:
	}	guz->outbuf = outbuf;	guz->outptr = outptr;	return 0;}static int inflate_stored(gunzip_t *guz){	ulong n;           /* number of bytes in block */	/* go to byte boundary */	n = guz->bufbits & 7;	get_bits(guz, n);	/* get the length and its complement */	n = get_bits(guz, 16);	if (n != (~get_bits(guz, 16) & 0xffff))		return 1;                   /* error in compressed data */	/* read and output the compressed data */	while (n--)		output_char(guz, (uchar)get_bits(guz, 8));	return 0;}static int inflate_fixed(gunzip_t *guz){	huft_bits ll[288], ld[32];	huft_code tl[288], td[32];	int i;	/* set up literal table */	for (i = 0; i < 144; i++)		ll[i] = 8;	for (; i < 256; i++)		ll[i] = 9;	for (; i < 280; i++)		ll[i] = 7;	for (; i < 288; i++)          /* make a complete, but wrong code set */		ll[i] = 8;	huft_build_table(ll, 288, tl);	for (i = 0; i < 30; i++)		ld[i] = 5;	huft_build_table(ld, 30, td);	return inflate_codes(guz, ll, tl, ld, td, 288, 30);}static int build_bits_table(gunzip_t *guz,	huft_bits *lb,	huft_code *tb,	int nb,	huft_bits *ll,	int nl	){	huft_bits bits;	huft_code code;	int value, i, n;	i = 0;	while (i < nl) {		code = peek_bits(guz, 16);		value = huft_get_value(lb, tb, 19, code, &bits);		if (value == -1)			return 1;         /* error in compressed data */		skip_bits(guz, bits);		if (value < 16) {			ll[i++] = value;		} else if (value == 16) {			code = get_bits(guz, 2);			for (n = 0; n < code + 3; n++) {				ll[i++] = ll[i - 1];			}		} else if (value == 17) {			code = get_bits(guz, 3);			for (n = 0; n < code + 3; n++)				ll[i++] = 0;		} else if (value == 18)	{			code = get_bits(guz, 7);			for (n = 0; n < code + 11; n++)				ll[i++] = 0;		}	}	return 0;}static int inflate_dynamic(gunzip_t *guz){	huft_bits lb[19], ll[288], ld[32];	huft_code tb[19], tl[288], td[32];	int nb;          /* number of bit length codes */	int nl;          /* number of literal/length codes */	int nd;          /* number of distance codes */	int i;	/* read in table lengths */	nl = 257 + get_bits(guz, 5);      /* number of literal/length codes */	nd = 1 + get_bits(guz, 5);        /* number of distance codes */	nb = 4 + get_bits(guz, 4);        /* number of bit length codes */	if (nl > 286 || nd > 30)		return 1;                 /* bad lengths */	/* read in bit-length-code lengths */	for (i = 0; i < nb; i++)		lb[border[i]] = get_bits(guz, 3);	for (; i < 19; i++)		lb[border[i]] = 0;	huft_build_table(lb, 19, tb);	build_bits_table(guz, lb, tb, 19, ll, nl);	huft_build_table(ll, nl, tl);	build_bits_table(guz, lb, tb, 19, ld, nd);	huft_build_table(ld, nd, td);	return inflate_codes(guz, ll, tl, ld, td, nl, nd);}static int inflate_block(gunzip_t *guz, ulong *e){	ulong t;           /* block type */	/* read in last block bit */	*e = get_bits(guz, 1);	/* read in block type */	t = get_bits(guz, 2);	/* inflate that block type */	if (t == 0)		return inflate_stored(guz);	if (t == 1)		return inflate_fixed(guz);	if (t == 2)		return inflate_dynamic(guz);	/* bad block type */	return 2;}static int inflate(gunzip_t *guz){	ulong e;                /* last block flag */	int r;                /* result code */	/* unsigned h;           maximum struct huft's malloc'ed */	/* decompress until the last block */	do {		if ((r = inflate_block(guz, &e)) != 0) {			return r;		}	} while (!e);	/* Undo too much lookahead. The next read will be byte aligned so we	 * can discard unused bits in the last meaningful byte.	 */	while (guz->bufbits >= 8) {		guz->bufbits -= 8;		guz->inptr--;	}	/* return success */	return 0;}static void init_gunzip_struct(gunzip_t *guz,	uchar *inbuf, ulong insize, uchar *outbuf, ulong outsize){	guz->inbuf = inbuf;	guz->insize = insize;	guz->inptr = 0;	guz->outbuf = outbuf;	guz->outsize = outsize;	guz->outptr = 0;	guz->bitbuf = 0;	guz->bufbits = 0;}ulong get_crc(uchar *buf, int len){	ulong crc;	uchar ch;	int i;	crc = 0xffffffffL;	for (i = 0; i < len; i++) {		ch = buf[i];		crc = crc_32_tab[((int)crc ^ ch) & 0xff] ^ (crc >> 8);	}	crc = (crc ^ 0xffffffffL);	return crc;}int gunzip(uchar *inbuf, ulong *insize, uchar *outbuf, ulong *outsize){	gunzip_t guz_struct;	gunzip_t *guz;	uchar magic[2];           /* magic header */	uchar method;	uchar flags;	ulong orig_crc = 0;       /* original crc */	ulong orig_len = 0;       /* original uncompressed length */	int res;	guz = &guz_struct;	init_gunzip_struct(guz, inbuf, *insize, outbuf, *outsize);	magic[0] = get_uchar(guz);	magic[1] = get_uchar(guz);	method = get_uchar(guz);	if (magic[0] != 0x1f || magic[1] != 0x8b)		return ERR_BADMAGIC;	/* We only support method #8, DEFLATED */	if (method != 8)		return ERR_BADMETHOD;	flags  = get_uchar(guz);	if (flags & ENCRYPTED)		return ERR_ENCRYPTED;	if (flags & CONTINUATION)		return ERR_MULTIPART;	if (flags & RESERVED)		return ERR_INVALIDFLAGS;	get_ulong(guz);        /* Get timestamp */	get_uchar(guz);        /* Ignore extra flags for the moment */	get_uchar(guz);        /* Ignore OS type for the moment */	if (flags & EXTRA_FIELD) {		ushort len;		len = get_ushort(guz);		while (len--)			get_uchar(guz);	}	/* Get original file name if it was truncated */	if (flags & ORIG_NAME) {		/* Discard the old name */		while (get_uchar(guz) != 0);	}	/* Discard file comment if any */	if (flags & COMMENT) {		while (get_uchar(guz) != 0);	}	/* Decompress */	if ((res = inflate(guz)) != 0) {		switch (res) {		case 1:			/* invalid compressed format (err=1) */			res = ERR_BADFORMAT1;			break;		case 2:			/* invalid compressed format (err=2) */			res = ERR_BADFORMAT2;			break;		case 3:			/* out of memory */			res = ERR_MEM;			break;		default:			/* invalid compressed format (other) */			res = ERR_BADFORMAT;		}		return res;	}	/* Get the crc and original length */	/* crc32  (see algorithm.doc)	 * uncompressed input size modulo 2^32	 */	orig_crc = get_ulong(guz);	orig_len = get_ulong(guz);	/* Validate decompression *///	if (orig_crc != get_crc(guz->outbuf, guz->outptr))//		return ERR_CRC;	if (orig_len != guz->outptr)		return ERR_LENGTH;	*insize = guz->inptr;	*outsize = guz->outptr;	return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀精品久久久久久蜜臀 | 亚洲一区国产视频| 欧美一卡二卡在线| 91尤物视频在线观看| 美腿丝袜在线亚洲一区 | 国模大尺度一区二区三区| 一区二区三区四区五区视频在线观看 | 国产成人日日夜夜| 日韩高清一区二区| 亚洲影院久久精品| 国产精品久久久久久一区二区三区| 9191久久久久久久久久久| 99麻豆久久久国产精品免费优播| 精品亚洲成a人在线观看 | caoporen国产精品视频| 欧美亚洲综合久久| 成人性视频免费网站| 久久精品国产第一区二区三区| 亚洲主播在线观看| 亚洲精品一二三| 国产精品视频免费看| 国产三级欧美三级| 精品成人一区二区三区| 日韩欧美国产综合| 91精品久久久久久久99蜜桃| 欧美图片一区二区三区| 色国产综合视频| 色综合欧美在线视频区| 91色porny蝌蚪| 91香蕉视频黄| 色婷婷综合久久久久中文 | 亚洲日本va午夜在线影院| 国产精品欧美一级免费| 国产欧美一区二区精品性| 久久嫩草精品久久久精品| 欧美α欧美αv大片| 日韩免费电影一区| 日韩免费观看2025年上映的电影| 日韩一级片在线观看| 欧美一区二区视频网站| 欧美一区二区三区四区在线观看| 制服丝袜中文字幕一区| 91麻豆精品国产| 日韩亚洲欧美成人一区| 精品久久国产字幕高潮| 国产亚洲精品aa| 欧美激情一二三区| 国产欧美日韩另类一区| 国产精品久久久久永久免费观看 | 91久久久免费一区二区| 91福利资源站| 欧美一区二区三区白人| 日韩免费视频线观看| 久久久久国产成人精品亚洲午夜| 国产日韩av一区| 中文字幕一区二区三区不卡| 亚洲最大的成人av| 偷拍亚洲欧洲综合| 国产一区二区在线看| 成人精品gif动图一区| 一本久久a久久免费精品不卡| 欧美三级电影网| 日韩欧美成人一区二区| 中文一区一区三区高中清不卡| 亚洲欧洲韩国日本视频| 丝袜美腿一区二区三区| 狠狠色综合日日| eeuss鲁片一区二区三区在线看| 日本精品视频一区二区三区| 日韩一区二区免费视频| 久久精品亚洲一区二区三区浴池| 国产精品二三区| 天堂一区二区在线| 国产一区二区三区免费在线观看 | 欧美一区二区女人| 国产欧美一区视频| 亚洲第一久久影院| 国产乱码精品一区二区三区五月婷| 97精品超碰一区二区三区| 91.com在线观看| 国产精品美女一区二区三区| 香蕉久久夜色精品国产使用方法| 国产成人综合视频| 欧美日韩视频在线一区二区| 国产人久久人人人人爽| 亚洲一区二区3| 国产精品18久久久久久久久久久久| 91久久精品网| 国产午夜亚洲精品不卡| 亚洲一区在线观看网站| 国产.欧美.日韩| 69久久夜色精品国产69蝌蚪网| 国产精品乱人伦一区二区| 日本不卡一二三| 一本大道久久a久久综合| 久久青草欧美一区二区三区| 亚洲高清免费观看高清完整版在线观看 | 久久久电影一区二区三区| 亚洲男同1069视频| 国产福利一区二区| 日韩三区在线观看| 亚洲一区在线看| 成人av手机在线观看| 五月天一区二区三区| aaa欧美色吧激情视频| 欧美tickling网站挠脚心| 亚洲影院在线观看| 色综合欧美在线视频区| 欧美激情一二三区| 国产乱人伦偷精品视频不卡| 欧美一级日韩一级| 亚洲成人激情社区| 91传媒视频在线播放| 中文字幕一区免费在线观看| 国产精品自拍av| 精品国产乱码久久久久久浪潮 | 日韩午夜激情av| 亚洲成人av免费| 日本道色综合久久| 中文字幕综合网| 91视视频在线直接观看在线看网页在线看| 久久综合狠狠综合久久激情| 婷婷综合在线观看| 欧美人妇做爰xxxⅹ性高电影| 亚洲综合色在线| 欧洲亚洲国产日韩| 亚洲资源中文字幕| 欧美中文字幕一区二区三区| 一区二区三区四区不卡在线| 91免费国产在线| 夜夜亚洲天天久久| 欧美中文一区二区三区| 亚洲动漫第一页| 欧美群妇大交群的观看方式| 日韩国产欧美在线观看| 6080午夜不卡| 麻豆一区二区99久久久久| 精品精品欲导航| 国产一区二区女| 中文字幕不卡在线播放| 成人国产在线观看| 亚洲精品中文在线影院| 欧美自拍偷拍午夜视频| 丝袜国产日韩另类美女| 欧美一区二区视频在线观看| 国内精品国产三级国产a久久| 国产亚洲制服色| 93久久精品日日躁夜夜躁欧美| 国产mv日韩mv欧美| 亚洲同性同志一二三专区| 在线观看日韩高清av| 五月天婷婷综合| 26uuu亚洲综合色| 99视频精品全部免费在线| 一区二区三区日韩欧美精品| 91精品黄色片免费大全| 国产自产2019最新不卡| 国产精品美日韩| 欧美日韩一区二区三区在线看| 午夜精品爽啪视频| 欧美精品一区二区三区很污很色的| 国产制服丝袜一区| 亚洲视频在线观看一区| 欧美精选一区二区| 国产在线一区观看| 亚洲视频资源在线| 欧美一级精品在线| 成人国产精品免费网站| 亚洲电影第三页| 精品动漫一区二区三区在线观看| zzijzzij亚洲日本少妇熟睡| 亚洲第一福利视频在线| 久久久一区二区| 欧美在线观看一区二区| 久久精品99久久久| 亚洲人成网站色在线观看| 制服.丝袜.亚洲.中文.综合| 风间由美性色一区二区三区| 亚洲午夜私人影院| 欧美精品一区二区三区一线天视频| av一二三不卡影片| 免费高清视频精品| 国产精品免费丝袜| 日韩欧美国产综合| 色婷婷国产精品| 国内精品在线播放| 亚洲国产欧美另类丝袜| 国产色产综合产在线视频| 8x福利精品第一导航| 99久久精品99国产精品| 麻豆精品国产传媒mv男同 | 亚洲免费在线视频一区 二区| 91精品国产美女浴室洗澡无遮挡| 91丨九色丨蝌蚪富婆spa| 极品美女销魂一区二区三区免费| 亚洲一区在线视频观看| 国产精品久久看| 久久无码av三级| 亚洲一区二区三区免费视频| 国产精品三级av|