deflate.c File Reference

#include "deflate.h"

Include dependency graph for deflate.c:

Go to the source code of this file.

Data Structures

struct  config_s
struct  static_tree_desc_s

Defines

#define NIL   0
#define TOO_FAR   4096
#define MIN_LOOKAHEAD   (MAX_MATCH+MIN_MATCH+1)
#define EQUAL   0
#define UPDATE_HASH(s, h, c)   (h = (((h)<<s->hash_shift) ^ (c)) & s->hash_mask)
#define INSERT_STRING(s, str, match_head)
#define CLEAR_HASH(s)
#define check_match(s, start, match, length)
#define FLUSH_BLOCK_ONLY(s, eof)
#define FLUSH_BLOCK(s, eof)

Typedefs

typedef block_state compress_func OF ((deflate_state *s, int flush))
typedef config_s config

Enumerations

enum  block_state { need_more, block_done, finish_started, finish_done }

Functions

local void fill_window OF ((deflate_state *s))
local block_state deflate_stored OF ((deflate_state *s, int flush))
local void putShortMSB OF ((deflate_state *s, uInt b))
local void flush_pending OF ((z_streamp strm))
local int read_buf OF ((z_streamp strm, Bytef *buf, unsigned size))
local uInt longest_match OF ((deflate_state *s, IPos cur_match))
int ZEXPORT deflateInit_ (z_streamp strm, int level, const char *version, int stream_size)
int ZEXPORT deflateInit2_ (z_streamp strm, int level, int method, int windowBits, int memLevel, int strategy, const char *version, int stream_size)
int ZEXPORT deflateSetDictionary (z_streamp strm, const Bytef *dictionary, uInt dictLength)
int ZEXPORT deflateReset (z_streamp strm)
int ZEXPORT deflateSetHeader (z_streamp strm, gz_headerp head)
int ZEXPORT deflatePrime (z_streamp strm, int bits, int value)
int ZEXPORT deflateParams (z_streamp strm, int level, int strategy)
int ZEXPORT deflateTune (z_streamp strm, int good_length, int max_lazy, int nice_length, int max_chain)
uLong ZEXPORT deflateBound (z_streamp strm, uLong sourceLen)
local void putShortMSB (deflate_state *s, uInt b)
local void flush_pending (z_streamp strm)
int ZEXPORT deflate (z_streamp strm, int flush)
int ZEXPORT deflateEnd (z_streamp strm)
int ZEXPORT deflateCopy (z_streamp dest, z_streamp source)
local int read_buf (z_streamp strm, Bytef *buf, unsigned size)
local void lm_init (deflate_state *s)
local uInt longest_match (deflate_state *s, IPos cur_match)
local uInt longest_match_fast (deflate_state *s, IPos cur_match)
local void fill_window (deflate_state *s)
local block_state deflate_stored (deflate_state *s, int flush)
local block_state deflate_fast (deflate_state *s, int flush)
local block_state deflate_slow (deflate_state *s, int flush)

Variables

const char deflate_copyright []
local const config configuration_table [10]


Define Documentation

#define check_match s,
start,
match,
length   ) 
 

Definition at line 1253 of file deflate.c.

#define CLEAR_HASH s   ) 
 

Value:

s->head[s->hash_size-1] = NIL; \
    zmemzero((Bytef *)s->head, (unsigned)(s->hash_size-1)*sizeof(*s->head));

Definition at line 199 of file deflate.c.

Referenced by deflate(), and lm_init().

#define EQUAL   0
 

Definition at line 157 of file deflate.c.

Referenced by mkdifferences().

#define FLUSH_BLOCK s,
eof   ) 
 

Value:

{ \
   FLUSH_BLOCK_ONLY(s, eof); \
   if (s->strm->avail_out == 0) return (eof) ? finish_started : need_more; \
}

Definition at line 1376 of file deflate.c.

#define FLUSH_BLOCK_ONLY s,
eof   ) 
 

Value:

{ \
   _tr_flush_block(s, (s->block_start >= 0L ? \
                   (charf *)&s->window[(unsigned)s->block_start] : \
                   (charf *)Z_NULL), \
                (ulg)((long)s->strstart - s->block_start), \
                (eof)); \
   s->block_start = s->strstart; \
   flush_pending(s->strm); \
   Tracev((stderr,"[FLUSH]")); \
}

Definition at line 1364 of file deflate.c.

#define INSERT_STRING s,
str,
match_head   ) 
 

Value:

(UPDATE_HASH(s, s->ins_h, s->window[(str) + (MIN_MATCH-1)]), \
    match_head = s->prev[(str) & s->w_mask] = s->head[s->ins_h], \
    s->head[s->ins_h] = (Pos)(str))

Definition at line 189 of file deflate.c.

Referenced by deflateSetDictionary().

#define MIN_LOOKAHEAD   (MAX_MATCH+MIN_MATCH+1)
 

Definition at line 113 of file deflate.c.

Referenced by deflate_fast(), deflate_slow(), fill_window(), longest_match(), and longest_match_fast().

#define NIL   0
 

Definition at line 105 of file deflate.c.

#define TOO_FAR   4096
 

Definition at line 109 of file deflate.c.

#define UPDATE_HASH s,
h,
c   )     (h = (((h)<<s->hash_shift) ^ (c)) & s->hash_mask)
 

Definition at line 170 of file deflate.c.

Referenced by deflateSetDictionary(), and fill_window().


Typedef Documentation

typedef struct config_s config
 

ZEXTERN const uLongf *ZEXPORT get_crc_table OF
 

Definition at line 73 of file deflate.c.


Enumeration Type Documentation

enum block_state
 

Enumerator:
need_more 
block_done 
finish_started 
finish_done 

Definition at line 66 of file deflate.c.


Function Documentation

int ZEXPORT deflate z_streamp  strm,
int  flush
 

Definition at line 552 of file deflate.c.

References _tr_align(), _tr_stored_block(), adler32(), Assert, block_done, BUSY_STATE, CLEAR_HASH, COMMENT_STATE, crc32(), ERR_RETURN, EXTRA_STATE, finish_done, finish_started, FINISH_STATE, flush_pending(), HCRC_STATE, header, INIT_STATE, L, NAME_STATE, need_more, NULL, OS_CODE, PRESET_DICT, put_byte, putShortMSB(), s, val, Z_BUF_ERROR, Z_DEFLATED, Z_FINISH, Z_FULL_FLUSH, Z_HUFFMAN_ONLY, Z_NO_FLUSH, Z_NULL, Z_OK, Z_PARTIAL_FLUSH, Z_STREAM_END, and Z_STREAM_ERROR.

Referenced by compress2(), def(), deflateParams(), gztack(), gzwrite(), main(), partcompress(), recomp(), recompress(), test_deflate(), test_dict_deflate(), test_flush(), test_large_deflate(), zipCloseFileInZipRaw(), and zipWriteInFileInZip().

local block_state deflate_fast deflate_state s,
int  flush
 

Definition at line 1448 of file deflate.c.

References fill_window(), MIN_LOOKAHEAD, need_more, NIL, and Z_NO_FLUSH.

local block_state deflate_slow deflate_state s,
int  flush
 

Definition at line 1554 of file deflate.c.

References fill_window(), MIN_LOOKAHEAD, need_more, NIL, and Z_NO_FLUSH.

local block_state deflate_stored deflate_state s,
int  flush
 

Definition at line 1390 of file deflate.c.

References Assert, fill_window(), if(), MAX_DIST, need_more, and Z_NO_FLUSH.

uLong ZEXPORT deflateBound z_streamp  strm,
uLong  sourceLen
 

Definition at line 489 of file deflate.c.

References compressBound(), s, and Z_NULL.

int ZEXPORT deflateCopy z_streamp  dest,
z_streamp  source
 

Definition at line 894 of file deflate.c.

References deflateEnd(), internal_state::head, overlay(), internal_state::pending_buf, internal_state::pending_out, internal_state::prev, internal_state::window, Z_MEM_ERROR, Z_NULL, Z_OK, Z_STREAM_ERROR, ZALLOC, and zmemcpy().

int ZEXPORT deflateEnd z_streamp  strm  ) 
 

Definition at line 859 of file deflate.c.

References BUSY_STATE, COMMENT_STATE, EXTRA_STATE, FINISH_STATE, HCRC_STATE, INIT_STATE, NAME_STATE, status, TRY_FREE, Z_DATA_ERROR, Z_NULL, Z_OK, Z_STREAM_ERROR, and ZFREE.

Referenced by compress2(), def(), deflateCopy(), deflateInit2_(), destroy(), gztack(), main(), recomp(), test_dict_deflate(), test_flush(), test_large_deflate(), and zipCloseFileInZipRaw().

int ZEXPORT deflateInit2_ z_streamp  strm,
int  level,
int  method,
int  windowBits,
int  memLevel,
int  strategy,
const char *  version,
int  stream_size
 

Definition at line 216 of file deflate.c.

References deflateEnd(), deflateReset(), ERR_MSG, FINISH_STATE, L, MAX_MEM_LEVEL, MIN_MATCH, overlay(), s, wrap, Z_DEFAULT_COMPRESSION, Z_DEFLATED, Z_FIXED, Z_MEM_ERROR, Z_NULL, Z_STREAM_ERROR, Z_VERSION_ERROR, ZALLOC, zcalloc(), zcfree(), and ZLIB_VERSION.

Referenced by deflateInit_().

int ZEXPORT deflateInit_ z_streamp  strm,
int  level,
const char *  version,
int  stream_size
 

Definition at line 204 of file deflate.c.

References DEF_MEM_LEVEL, deflateInit2_(), MAX_WBITS, Z_DEFAULT_STRATEGY, and Z_DEFLATED.

int ZEXPORT deflateParams z_streamp  strm,
int  level,
int  strategy
 

Definition at line 416 of file deflate.c.

References deflate(), err, func, s, Z_DEFAULT_COMPRESSION, Z_FIXED, Z_NULL, Z_OK, Z_PARTIAL_FLUSH, and Z_STREAM_ERROR.

Referenced by gzsetparams(), and test_large_deflate().

int ZEXPORT deflatePrime z_streamp  strm,
int  bits,
int  value
 

Definition at line 404 of file deflate.c.

References Z_NULL, Z_OK, and Z_STREAM_ERROR.

Referenced by gzscan().

int ZEXPORT deflateReset z_streamp  strm  ) 
 

Definition at line 357 of file deflate.c.

References _tr_init(), adler32(), BUSY_STATE, crc32(), if(), INIT_STATE, L, lm_init(), s, Z_NO_FLUSH, Z_NULL, Z_OK, Z_STREAM_ERROR, and Z_UNKNOWN.

Referenced by deflateInit2_(), and main().

int ZEXPORT deflateSetDictionary z_streamp  strm,
const Bytef dictionary,
uInt  dictLength
 

Definition at line 315 of file deflate.c.

References adler32(), INIT_STATE, INSERT_STRING, length, long(), MAX_DIST, MIN_MATCH, n, s, UPDATE_HASH, Z_NULL, Z_OK, Z_STREAM_ERROR, and zmemcpy().

Referenced by gzscan(), and test_dict_deflate().

int ZEXPORT deflateSetHeader z_streamp  strm,
gz_headerp  head
 

Definition at line 393 of file deflate.c.

References Z_NULL, Z_OK, and Z_STREAM_ERROR.

int ZEXPORT deflateTune z_streamp  strm,
int  good_length,
int  max_lazy,
int  nice_length,
int  max_chain
 

Definition at line 454 of file deflate.c.

References s, Z_NULL, Z_OK, and Z_STREAM_ERROR.

local void fill_window deflate_state s  ) 
 

Definition at line 1266 of file deflate.c.

References Assert, Call(), long(), m, MAX_DIST, MIN_LOOKAHEAD, MIN_MATCH, n, NIL, p, read_buf(), times, UPDATE_HASH, and zmemcpy().

Referenced by deflate_fast(), deflate_slow(), and deflate_stored().

local void flush_pending z_streamp  strm  ) 
 

Definition at line 532 of file deflate.c.

References zmemcpy().

Referenced by deflate().

local void lm_init deflate_state s  ) 
 

Definition at line 986 of file deflate.c.

References CLEAR_HASH, L, and MIN_MATCH.

Referenced by deflateReset().

local uInt longest_match deflate_state s,
IPos  cur_match
 

Definition at line 1027 of file deflate.c.

References Assert, int(), internal_state::lookahead, MAX_DIST, MAX_MATCH, MIN_LOOKAHEAD, internal_state::nice_match, NIL, internal_state::prev, and internal_state::strstart.

local uInt longest_match_fast deflate_state s,
IPos  cur_match
 

Definition at line 1175 of file deflate.c.

References Assert, int(), MAX_MATCH, MIN_LOOKAHEAD, MIN_MATCH, and internal_state::strstart.

local uInt longest_match OF (deflate_state *s, IPos cur_match)   ) 
 

local int read_buf OF (z_streamp strm, Bytef *buf, unsigned size)   ) 
 

local void flush_pending OF (z_streamp strm)   ) 
 

local void putShortMSB OF (deflate_state *s, uInt b  ) 
 

local block_state deflate_stored OF (deflate_state *s, int flush)   ) 
 

local void fill_window OF (deflate_state *s  ) 
 

local void putShortMSB deflate_state s,
uInt  b
 

Definition at line 518 of file deflate.c.

References put_byte.

Referenced by deflate().

local int read_buf z_streamp  strm,
Bytef buf,
unsigned  size
 

Definition at line 956 of file deflate.c.

References adler32(), crc32(), and zmemcpy().

Referenced by fill_window().


Variable Documentation

local const config configuration_table[10]
 

Initial value:

 {

 {0,    0,  0,    0, deflate_stored},  
 {4,    4,  8,    4, deflate_fast}, 
 {4,    5, 16,    8, deflate_fast},
 {4,    6, 32,   32, deflate_fast},

 {4,    4, 16,   16, deflate_slow},  
 {8,   16, 32,   32, deflate_slow},
 {8,   16, 128, 128, deflate_slow},
 {8,   32, 128, 256, deflate_slow},
 {32, 128, 258, 1024, deflate_slow},
 {32, 258, 258, 4096, deflate_slow}}

Definition at line 137 of file deflate.c.

const char deflate_copyright[]
 

Initial value:

   " deflate 1.2.3 Copyright 1995-2005 Jean-loup Gailly "

Definition at line 54 of file deflate.c.


Generated on Fri Apr 14 23:20:39 2006 for minix by  doxygen 1.4.6