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

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

?? gunzip.c

?? 本程序是arm開發(fā)bios的實(shí)例代碼
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
	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];	huft_bits bits;	huft_code code;	int value;	int i, len, dist;	/* 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];	huft_bits bits;	huft_code code;	int nb;          /* number of bit length codes */	int nl;          /* number of literal/length codes */	int nd;          /* number of distance codes */	int value, i, n;	/* 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 */	void *ptr;	/* 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;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
极品少妇一区二区| 免费亚洲电影在线| 一本一道波多野结衣一区二区| 久久综合色一综合色88| 国内一区二区视频| 国产情人综合久久777777| 国产婷婷色一区二区三区| 国产真实乱对白精彩久久| 欧美人牲a欧美精品| 日韩精品一级二级| 欧美成人三级电影在线| 国产一区二区看久久| 中文在线一区二区| 欧美三级日韩三级| 秋霞午夜av一区二区三区| 日韩一区二区三| 4hu四虎永久在线影院成人| 老鸭窝一区二区久久精品| 国产精品私人自拍| 免费成人在线影院| 精品久久一区二区| 91在线看国产| 亚洲福中文字幕伊人影院| 9191久久久久久久久久久| 韩日欧美一区二区三区| 亚洲欧美影音先锋| 欧美va亚洲va| 欧美一区二区视频在线观看2022 | 91麻豆国产在线观看| 午夜视频一区二区三区| 中文字幕免费观看一区| 日韩一区二区三区精品视频| 99视频在线观看一区三区| 免费视频一区二区| 日日嗨av一区二区三区四区| 亚洲免费观看高清| 久久精品一区二区三区av| 久久综合色一综合色88| 欧美一二三在线| 911精品国产一区二区在线| 欧洲国产伦久久久久久久| 一本到不卡精品视频在线观看| 国产精品亚洲专一区二区三区| 天天影视网天天综合色在线播放| 中文字幕日韩av资源站| 久久精品一区二区三区不卡| 久久综合精品国产一区二区三区| 日韩在线卡一卡二| 中文字幕一区二区5566日韩| 久久久精品国产免费观看同学| 欧美成人激情免费网| 26uuu亚洲综合色欧美| 欧美一区二区三区四区五区| 欧美美女喷水视频| 欧美伊人久久久久久午夜久久久久| 成人午夜精品一区二区三区| 国产在线播精品第三| 精品一区二区三区久久久| 国产白丝精品91爽爽久久| 国产a视频精品免费观看| 成人黄色av电影| caoporm超碰国产精品| 99久久精品国产网站| 在线精品亚洲一区二区不卡| 欧美日韩在线不卡| 91麻豆精品国产91久久久资源速度| 欧美成人激情免费网| 国产精品乱码一区二三区小蝌蚪| 亚洲色图制服诱惑| 国产一区美女在线| 欧美日韩视频在线观看一区二区三区| 日韩欧美aaaaaa| 亚洲综合色视频| 成人性生交大片| 宅男在线国产精品| 尤物av一区二区| 国产成人精品影视| 欧美大片顶级少妇| 午夜精品爽啪视频| 日本乱人伦aⅴ精品| 亚洲国产精品成人综合| 精东粉嫩av免费一区二区三区| 欧美四级电影在线观看| 青青草原综合久久大伊人精品 | 自拍偷拍亚洲激情| 菠萝蜜视频在线观看一区| 久久人人97超碰com| 开心九九激情九九欧美日韩精美视频电影| 色综合久久久久久久| 国产精品传媒入口麻豆| 成人丝袜高跟foot| 欧美激情在线看| 波波电影院一区二区三区| 国产午夜精品一区二区三区视频| 国产在线精品免费av| 日韩欧美不卡一区| 国产精品一级片在线观看| www激情久久| 国产精品一区二区久激情瑜伽| 精品国产乱码久久久久久1区2区| 美女精品自拍一二三四| 久久久91精品国产一区二区三区| 国产精品18久久久久久久久久久久| wwwwww.欧美系列| 99久久777色| 亚洲成a人片综合在线| 日韩三级视频中文字幕| 欧美日韩国产系列| 亚洲成人自拍一区| 日韩欧美国产一区二区三区| 国产成人久久精品77777最新版本| 国产精品嫩草99a| 欧美日韩免费一区二区三区| 国产剧情一区二区| 亚洲午夜视频在线| 久久久久久久久久久黄色| aaa国产一区| 美女脱光内衣内裤视频久久网站 | 色8久久精品久久久久久蜜| 久久精品国产精品青草| 亚洲男人天堂一区| 久久免费视频一区| 欧美浪妇xxxx高跟鞋交| 91视频在线观看| 国产一区二区三区精品视频| 成人欧美一区二区三区白人| eeuss鲁一区二区三区| 中文字幕亚洲成人| 精品国产一区二区三区av性色| 在线免费亚洲电影| 91精品国产一区二区| 日韩视频在线一区二区| 欧美日韩国产在线播放网站| 成人性生交大片免费| 国产一区二区免费看| 另类的小说在线视频另类成人小视频在线 | 久久99久久99精品免视看婷婷| 亚洲影院理伦片| 日韩av网站在线观看| 一区二区三区日本| 亚洲成人av在线电影| 日韩国产精品91| 另类综合日韩欧美亚洲| 色成年激情久久综合| 日本韩国欧美三级| 欧美区在线观看| 久久久久久免费毛片精品| 久久影音资源网| 国产精品色婷婷| 国产精品高潮呻吟| 亚洲综合色网站| 毛片av中文字幕一区二区| 韩国三级在线一区| 99久久777色| 久久亚洲欧美国产精品乐播| 一区二区免费在线| www.亚洲精品| 一区二区三区在线免费播放| 日韩亚洲欧美在线| 国产精品传媒入口麻豆| 有坂深雪av一区二区精品| 亚洲最新视频在线观看| 国产精品短视频| 欧美一区二区三区影视| 884aa四虎影成人精品一区| 日本一区二区免费在线观看视频| 亚洲综合在线第一页| 99天天综合性| 中文字幕av不卡| 成人妖精视频yjsp地址| 日韩精品一区二区三区视频 | 亚洲成人综合在线| 午夜影院久久久| 激情丁香综合五月| av在线这里只有精品| 成人一道本在线| 国产在线不卡一区| 99在线热播精品免费| 欧美午夜在线一二页| 色综合久久中文综合久久97| 欧美三级三级三级| 欧美国产精品中文字幕| 日本在线播放一区二区三区| 99热国产精品| 日韩精品一区二区在线| 亚洲1区2区3区视频| 欧美在线一二三| 国产日产欧产精品推荐色| 日韩**一区毛片| 91久久精品一区二区| 精品国产一二三区| 亚洲国产美国国产综合一区二区| 在线观看视频一区| 久久亚洲精华国产精华液| 亚洲手机成人高清视频| 午夜精品在线视频一区| 91丨九色丨国产丨porny| 国产精品嫩草99a| 在线观看www91| 奇米影视一区二区三区|