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

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

?? zlib.c

?? ARM的bootloader代碼.rar
?? C
?? 第 1 頁 / 共 5 頁
字號:
/* * This file is derived from various .h and .c files from the zlib-0.95 * distribution by Jean-loup Gailly and Mark Adler, with some additions * by Paul Mackerras to aid in implementing Deflate compression and * decompression for PPP packets.  See zlib.h for conditions of * distribution and use. * * Changes that have been made include: * - changed functions not used outside this file to "local" * - added minCompression parameter to deflateInit2 * - added Z_PACKET_FLUSH (see zlib.h for details) * - added inflateIncomp *//*+++++*//* zutil.h -- internal interface and configuration of the compression library * Copyright (C) 1995 Jean-loup Gailly. * For conditions of distribution and use, see copyright notice in zlib.h *//* WARNING: this file should *not* be used by applications. It is   part of the implementation of the compression library and is   subject to change. Applications should only use zlib.h. *//* From: zutil.h,v 1.9 1995/05/03 17:27:12 jloup Exp */#define _Z_UTIL_H#include "armboot.h"#include "zlib.h"#ifndef local#  define local static#endif/* compile with -Dlocal if your debugger can't find static symbols */#define FARtypedef unsigned char  uch;typedef uch FAR uchf;typedef unsigned short ush;typedef ush FAR ushf;typedef unsigned long  ulg;extern char *z_errmsg[]; /* indexed by 1-zlib_error */#define ERR_RETURN(strm,err) return (strm->msg=z_errmsg[1-err], err)/* To be used only when the state is known to be valid */#ifndef NULL#define NULL	((void *) 0)#endif        /* common constants */#define DEFLATED   8#ifndef DEF_WBITS#  define DEF_WBITS MAX_WBITS#endif/* default windowBits for decompression. MAX_WBITS is for compression only */#if MAX_MEM_LEVEL >= 8#  define DEF_MEM_LEVEL 8#else#  define DEF_MEM_LEVEL  MAX_MEM_LEVEL#endif/* default memLevel */#define STORED_BLOCK 0#define STATIC_TREES 1#define DYN_TREES    2/* The three kinds of block type */#define MIN_MATCH  3#define MAX_MATCH  258/* The minimum and maximum match lengths */         /* functions */#include <linux/string.h>#define zmemcpy memcpy#define zmemzero(dest, len)	memset(dest, 0, len)/* Diagnostic functions */#ifdef DEBUG_ZLIB#  include <stdio.h>#  ifndef verbose#    define verbose 0#  endif#  define Assert(cond,msg) {if(!(cond)) z_error(msg);}#  define Trace(x) fprintf x#  define Tracev(x) {if (verbose) fprintf x ;}#  define Tracevv(x) {if (verbose>1) fprintf x ;}#  define Tracec(c,x) {if (verbose && (c)) fprintf x ;}#  define Tracecv(c,x) {if (verbose>1 && (c)) fprintf x ;}#else#  define Assert(cond,msg)#  define Trace(x)#  define Tracev(x)#  define Tracevv(x)#  define Tracec(c,x)#  define Tracecv(c,x)#endiftypedef uLong (*check_func) OF((uLong check, Bytef *buf, uInt len));/* voidpf zcalloc OF((voidpf opaque, unsigned items, unsigned size)); *//* void   zcfree  OF((voidpf opaque, voidpf ptr)); */#define ZALLOC(strm, items, size) \           (*((strm)->zalloc))((strm)->opaque, (items), (size))#define ZFREE(strm, addr, size)	\	   (*((strm)->zfree))((strm)->opaque, (voidpf)(addr), (size))#define TRY_FREE(s, p, n) {if (p) ZFREE(s, p, n);}/* deflate.h -- internal compression state * Copyright (C) 1995 Jean-loup Gailly * For conditions of distribution and use, see copyright notice in zlib.h *//* WARNING: this file should *not* be used by applications. It is   part of the implementation of the compression library and is   subject to change. Applications should only use zlib.h. *//*+++++*//* infblock.h -- header to use infblock.c * Copyright (C) 1995 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h *//* WARNING: this file should *not* be used by applications. It is   part of the implementation of the compression library and is   subject to change. Applications should only use zlib.h. */struct inflate_blocks_state;typedef struct inflate_blocks_state FAR inflate_blocks_statef;local inflate_blocks_statef * inflate_blocks_new OF((    z_stream *z,    check_func c,               /* check function */    uInt w));                   /* window size */local int inflate_blocks OF((    inflate_blocks_statef *,    z_stream *,    int));                      /* initial return code */local void inflate_blocks_reset OF((    inflate_blocks_statef *,    z_stream *,    uLongf *));                  /* check value on output */local int inflate_blocks_free OF((    inflate_blocks_statef *,    z_stream *,    uLongf *));                  /* check value on output */local int inflate_addhistory OF((    inflate_blocks_statef *,    z_stream *));local int inflate_packet_flush OF((    inflate_blocks_statef *));/*+++++*//* inftrees.h -- header to use inftrees.c * Copyright (C) 1995 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h *//* WARNING: this file should *not* be used by applications. It is   part of the implementation of the compression library and is   subject to change. Applications should only use zlib.h. *//* Huffman code lookup table entry--this entry is four bytes for machines   that have 16-bit pointers (e.g. PC's in the small or medium model). */typedef struct inflate_huft_s FAR inflate_huft;struct inflate_huft_s {  union {    struct {      Byte Exop;        /* number of extra bits or operation */      Byte Bits;        /* number of bits in this code or subcode */    } what;    uInt Nalloc;	/* number of these allocated here */    Bytef *pad;         /* pad structure to a power of 2 (4 bytes for */  } word;               /*  16-bit, 8 bytes for 32-bit machines) */  union {    uInt Base;          /* literal, length base, or distance base */    inflate_huft *Next; /* pointer to next level of table */  } more;};#ifdef DEBUG_ZLIB  local uInt inflate_hufts;#endiflocal int inflate_trees_bits OF((    uIntf *,                    /* 19 code lengths */    uIntf *,                    /* bits tree desired/actual depth */    inflate_huft * FAR *,       /* bits tree result */    z_stream *));               /* for zalloc, zfree functions */local int inflate_trees_dynamic OF((    uInt,                       /* number of literal/length codes */    uInt,                       /* number of distance codes */    uIntf *,                    /* that many (total) code lengths */    uIntf *,                    /* literal desired/actual bit depth */    uIntf *,                    /* distance desired/actual bit depth */    inflate_huft * FAR *,       /* literal/length tree result */    inflate_huft * FAR *,       /* distance tree result */    z_stream *));               /* for zalloc, zfree functions */local int inflate_trees_fixed OF((    uIntf *,                    /* literal desired/actual bit depth */    uIntf *,                    /* distance desired/actual bit depth */    inflate_huft * FAR *,       /* literal/length tree result */    inflate_huft * FAR *));     /* distance tree result */local int inflate_trees_free OF((    inflate_huft *,             /* tables to free */    z_stream *));               /* for zfree function *//*+++++*//* infcodes.h -- header to use infcodes.c * Copyright (C) 1995 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h *//* WARNING: this file should *not* be used by applications. It is   part of the implementation of the compression library and is   subject to change. Applications should only use zlib.h. */struct inflate_codes_state;typedef struct inflate_codes_state FAR inflate_codes_statef;local inflate_codes_statef *inflate_codes_new OF((    uInt, uInt,    inflate_huft *, inflate_huft *,    z_stream *));local int inflate_codes OF((    inflate_blocks_statef *,    z_stream *,    int));local void inflate_codes_free OF((    inflate_codes_statef *,    z_stream *));/*+++++*//* inflate.c -- zlib interface to inflate modules * Copyright (C) 1995 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h *//* inflate private state */struct internal_state {  /* mode */  enum {      METHOD,   /* waiting for method byte */      FLAG,     /* waiting for flag byte */      BLOCKS,   /* decompressing blocks */      CHECK4,   /* four check bytes to go */      CHECK3,   /* three check bytes to go */      CHECK2,   /* two check bytes to go */      CHECK1,   /* one check byte to go */      DONE,     /* finished check, done */      BAD}      /* got an error--stay here */    mode;               /* current inflate mode */  /* mode dependent information */  union {    uInt method;        /* if FLAGS, method byte */    struct {      uLong was;                /* computed check value */      uLong need;               /* stream check value */    } check;            /* if CHECK, check values to compare */    uInt marker;        /* if BAD, inflateSync's marker bytes count */  } sub;        /* submode */  /* mode independent information */  int  nowrap;          /* flag for no wrapper */  uInt wbits;           /* log2(window size)  (8..15, defaults to 15) */  inflate_blocks_statef    *blocks;            /* current inflate_blocks state */};int inflateReset(z)z_stream *z;{  uLong c;  if (z == Z_NULL || z->state == Z_NULL)    return Z_STREAM_ERROR;  z->total_in = z->total_out = 0;  z->msg = Z_NULL;  z->state->mode = z->state->nowrap ? BLOCKS : METHOD;  inflate_blocks_reset(z->state->blocks, z, &c);  Trace((stderr, "inflate: reset\n"));  return Z_OK;}int inflateEnd(z)z_stream *z;{  uLong c;  if (z == Z_NULL || z->state == Z_NULL || z->zfree == Z_NULL)    return Z_STREAM_ERROR;  if (z->state->blocks != Z_NULL)    inflate_blocks_free(z->state->blocks, z, &c);  ZFREE(z, z->state, sizeof(struct internal_state));  z->state = Z_NULL;  Trace((stderr, "inflate: end\n"));  return Z_OK;}int inflateInit2(z, w)z_stream *z;int w;{  /* initialize state */  if (z == Z_NULL)    return Z_STREAM_ERROR;/*  if (z->zalloc == Z_NULL) z->zalloc = zcalloc; *//*  if (z->zfree == Z_NULL) z->zfree = zcfree; */  if ((z->state = (struct internal_state FAR *)       ZALLOC(z,1,sizeof(struct internal_state))) == Z_NULL)    return Z_MEM_ERROR;  z->state->blocks = Z_NULL;  /* handle undocumented nowrap option (no zlib header or check) */  z->state->nowrap = 0;  if (w < 0)  {    w = - w;    z->state->nowrap = 1;  }  /* set window size */  if (w < 8 || w > 15)  {    inflateEnd(z);    return Z_STREAM_ERROR;  }  z->state->wbits = (uInt)w;  /* create inflate_blocks state */  if ((z->state->blocks =       inflate_blocks_new(z, z->state->nowrap ? Z_NULL : adler32, 1 << w))      == Z_NULL)  {    inflateEnd(z);    return Z_MEM_ERROR;  }  Trace((stderr, "inflate: allocated\n"));  /* reset state */  inflateReset(z);  return Z_OK;}int inflateInit(z)z_stream *z;{  return inflateInit2(z, DEF_WBITS);}#define NEEDBYTE {if(z->avail_in==0)goto empty;r=Z_OK;}#define NEXTBYTE (z->avail_in--,z->total_in++,*z->next_in++)int inflate(z, f)z_stream *z;int f;{  int r;  uInt b;  if (z == Z_NULL || z->next_in == Z_NULL)    return Z_STREAM_ERROR;  r = Z_BUF_ERROR;  while (1) switch (z->state->mode)  {    case METHOD:      NEEDBYTE      if (((z->state->sub.method = NEXTBYTE) & 0xf) != DEFLATED)      {        z->state->mode = BAD;        z->msg = "unknown compression method";        z->state->sub.marker = 5;       /* can't try inflateSync */        break;      }      if ((z->state->sub.method >> 4) + 8 > z->state->wbits)      {        z->state->mode = BAD;        z->msg = "invalid window size";        z->state->sub.marker = 5;       /* can't try inflateSync */        break;      }      z->state->mode = FLAG;    case FLAG:      NEEDBYTE      if ((b = NEXTBYTE) & 0x20)      {        z->state->mode = BAD;        z->msg = "invalid reserved bit";

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费日本视频一区| 欧美国产欧美综合| 精品美女一区二区三区| 欧美国产日产图区| 亚洲国产人成综合网站| 久久99这里只有精品| 972aa.com艺术欧美| 欧美电影一区二区| 国产婷婷精品av在线| 洋洋av久久久久久久一区| 麻豆高清免费国产一区| 99r国产精品| 欧美一区欧美二区| 国产精品家庭影院| 亚洲一区二区三区精品在线| 国产乱子伦一区二区三区国色天香| 盗摄精品av一区二区三区| 欧美日本高清视频在线观看| 国产欧美精品一区aⅴ影院 | 国产成人精品免费看| 色婷婷精品久久二区二区蜜臀av | 精品在线观看视频| 色综合久久综合网欧美综合网 | 久草这里只有精品视频| 91久久香蕉国产日韩欧美9色| 精品乱码亚洲一区二区不卡| 一区二区三区免费| 国产麻豆成人传媒免费观看| 欧美人伦禁忌dvd放荡欲情| 国产亚洲综合在线| 欧美日韩一区二区三区四区五区| 国产调教视频一区| 美女脱光内衣内裤视频久久网站 | 亚洲免费成人av| 国产成人在线网站| 91麻豆精品国产91久久久| ...中文天堂在线一区| 精东粉嫩av免费一区二区三区| 欧美在线999| 国产精品久久777777| 国产精品自拍毛片| 日韩亚洲欧美一区二区三区| 亚洲午夜视频在线观看| 91色|porny| 国产精品美女久久久久aⅴ | 国产婷婷一区二区| 久久99久久久久| 欧美一区二区三区影视| 亚洲观看高清完整版在线观看| 91丨porny丨最新| 国产蜜臀av在线一区二区三区| 麻豆精品精品国产自在97香蕉| 欧美嫩在线观看| 午夜视频在线观看一区| 91九色最新地址| 亚洲婷婷综合久久一本伊一区| 国产suv精品一区二区883| xnxx国产精品| 国模无码大尺度一区二区三区| 91精品免费在线观看| 五月天一区二区三区| 欧美色倩网站大全免费| 一区二区三区在线视频播放| 91美女在线看| 一区二区三区波多野结衣在线观看| 成人黄色片在线观看| 国产精品色婷婷| 波多野结衣视频一区| 国产精品久久99| 91麻豆精东视频| 亚洲激情校园春色| 欧美在线一二三| 亚洲第一电影网| 欧美人妖巨大在线| 七七婷婷婷婷精品国产| 日韩欧美电影在线| 久草在线在线精品观看| 久久精品一区二区三区不卡牛牛 | 自拍av一区二区三区| 91丨porny丨首页| 一区二区三区四区蜜桃| 欧美午夜不卡视频| 9191国产精品| 青青草国产成人99久久| 精品国产91亚洲一区二区三区婷婷 | 日韩专区在线视频| 777色狠狠一区二区三区| 蜜桃视频在线一区| 国产午夜亚洲精品羞羞网站| 99精品视频中文字幕| 18欧美亚洲精品| 欧美亚男人的天堂| 日本欧美一区二区| 日韩精品一区二区三区视频在线观看 | 色综合久久综合网97色综合| 亚洲综合av网| 日韩三级伦理片妻子的秘密按摩| 黄色成人免费在线| 国产精品污www在线观看| 色欧美片视频在线观看| 五月天丁香久久| 日韩精品一区二区三区三区免费| 国产精品小仙女| 亚洲精品菠萝久久久久久久| 在线成人av网站| 国产精品亚洲午夜一区二区三区| 亚洲婷婷在线视频| 风流少妇一区二区| 亚洲一区二区四区蜜桃| 日韩午夜在线观看| 99精品黄色片免费大全| 日韩vs国产vs欧美| 欧美国产激情二区三区| 欧美羞羞免费网站| 国产精品88888| 亚洲最新视频在线观看| 精品国产一区二区三区av性色| 国产馆精品极品| 亚洲成人自拍一区| 久久久久久久久99精品| 欧美少妇xxx| 粉嫩一区二区三区性色av| 亚洲va欧美va国产va天堂影院| 国产丝袜欧美中文另类| 欧美色手机在线观看| 国产伦精一区二区三区| 性做久久久久久免费观看| 国产欧美日韩精品在线| 欧美精选午夜久久久乱码6080| 国产白丝精品91爽爽久久| 亚洲超碰精品一区二区| 国产精品美女久久久久久久网站| 67194成人在线观看| 99热99精品| 国产乱人伦精品一区二区在线观看| 亚洲国产精品欧美一二99| 日本一区二区视频在线观看| 欧美二区三区的天堂| 91网站最新网址| 国产精品亚洲一区二区三区妖精 | 日韩欧美专区在线| 亚洲欧美一区二区三区极速播放 | 99久久精品免费看| 国产综合成人久久大片91| 亚洲 欧美综合在线网络| 中文字幕日韩一区| 久久久欧美精品sm网站| 91精品国产高清一区二区三区 | 一区二区三区欧美| 国产三级一区二区| 日韩三级视频中文字幕| 欧美区视频在线观看| 一本色道久久综合亚洲精品按摩| 国产成人精品免费网站| 国产综合一区二区| 蜜臀av亚洲一区中文字幕| 亚洲国产你懂的| 亚洲少妇屁股交4| 中文无字幕一区二区三区| 精品不卡在线视频| 日韩手机在线导航| 欧美群妇大交群中文字幕| 欧美伊人久久大香线蕉综合69| 99久久精品国产毛片| 高清久久久久久| 国产河南妇女毛片精品久久久| 国产自产高清不卡| 国产一区二区三区香蕉| 美女精品一区二区| 美女尤物国产一区| 久久精品免费观看| 老司机免费视频一区二区三区| 欧美a级理论片| 奇米在线7777在线精品| 免费高清视频精品| 麻豆精品精品国产自在97香蕉| 免费观看久久久4p| 久久国内精品视频| 韩国v欧美v日本v亚洲v| 激情欧美一区二区三区在线观看| 美女视频黄频大全不卡视频在线播放| 婷婷丁香激情综合| 日韩电影免费一区| 蜜臀av性久久久久蜜臀av麻豆| 日本 国产 欧美色综合| 久久国产剧场电影| 国产精品自拍av| 成人激情午夜影院| 95精品视频在线| 在线观看免费亚洲| 欧美日韩情趣电影| 制服丝袜中文字幕亚洲| 欧美大白屁股肥臀xxxxxx| 精品福利一区二区三区| 精品成人一区二区三区四区| www国产亚洲精品久久麻豆| 久久久精品一品道一区| 国产精品成人免费| 洋洋成人永久网站入口| 日本特黄久久久高潮|