fltk 1.3.0rc3
About: FLTK (Fast Light Tool Kit) is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and MacOS X. Release candidate.
  SfR Fresh Dox: fltk-1.3.0rc3-source.tar.gz ("inofficial" and yet experimental doxygen-generated source code documentation)  

inflate.c File Reference

#include "zutil.h"
#include "inftrees.h"
#include "inflate.h"
#include "inffast.h"
#include "inffixed.h"
Include dependency graph for inflate.c:

Go to the source code of this file.

Defines

#define UPDATE(check, buf, len)   (state->flags ? crc32(check, buf, len) : adler32(check, buf, len))
#define CRC2(check, word)
#define CRC4(check, word)
#define LOAD()
#define RESTORE()
#define INITBITS()
#define PULLBYTE()
#define NEEDBITS(n)
#define BITS(n)   ((unsigned)hold & ((1U << (n)) - 1))
#define DROPBITS(n)
#define BYTEBITS()
#define REVERSE(q)

Functions

local void fixedtables OF ((struct inflate_state FAR *state))
local int updatewindow OF ((z_streamp strm, unsigned out))
local unsigned syncsearch OF ((unsigned FAR *have, unsigned char FAR *buf, unsigned len))
int ZEXPORT inflateReset (z_streamp strm)
int ZEXPORT inflatePrime (z_streamp strm, int bits, int value)
int ZEXPORT inflateInit2_ (z_streamp strm, int windowBits, const char *version, int stream_size)
int ZEXPORT inflateInit_ (z_streamp strm, const char *version, int stream_size)
local void fixedtables (struct inflate_state FAR *state)
local int updatewindow (z_streamp strm, unsigned out)
int ZEXPORT inflate (z_streamp strm, int flush)
int ZEXPORT inflateEnd (z_streamp strm)
int ZEXPORT inflateSetDictionary (z_streamp strm, const Bytef *dictionary, uInt dictLength)
int ZEXPORT inflateGetHeader (z_streamp strm, gz_headerp head)
local unsigned syncsearch (unsigned FAR *have, unsigned char FAR *buf, unsigned len)
int ZEXPORT inflateSync (z_streamp strm)
int ZEXPORT inflateSyncPoint (z_streamp strm)
int ZEXPORT inflateCopy (z_streamp dest, z_streamp source)

Define Documentation

#define BITS (   n)    ((unsigned)hold & ((1U << (n)) - 1))

Definition at line 450 of file inflate.c.

Referenced by inflate().

#define BYTEBITS ( )
Value:
do { \
        hold >>= bits & 7; \
        bits -= bits & 7; \
    } while (0)

Definition at line 461 of file inflate.c.

Referenced by inflate().

#define CRC2 (   check,
  word 
)
Value:
do { \
        hbuf[0] = (unsigned char)(word); \
        hbuf[1] = (unsigned char)((word) >> 8); \
        check = crc32(check, hbuf, 2); \
    } while (0)

Definition at line 385 of file inflate.c.

Referenced by inflate().

#define CRC4 (   check,
  word 
)
Value:
do { \
        hbuf[0] = (unsigned char)(word); \
        hbuf[1] = (unsigned char)((word) >> 8); \
        hbuf[2] = (unsigned char)((word) >> 16); \
        hbuf[3] = (unsigned char)((word) >> 24); \
        check = crc32(check, hbuf, 4); \
    } while (0)

Definition at line 392 of file inflate.c.

Referenced by inflate().

#define DROPBITS (   n)
Value:
do { \
        hold >>= (n); \
        bits -= (unsigned)(n); \
    } while (0)

Definition at line 454 of file inflate.c.

Referenced by inflate().

#define INITBITS ( )
Value:
do { \
        hold = 0; \
        bits = 0; \
    } while (0)

Definition at line 425 of file inflate.c.

Referenced by inflate().

#define LOAD ( )
Value:
do { \
        put = strm->next_out; \
        left = strm->avail_out; \
        next = strm->next_in; \
        have = strm->avail_in; \
        hold = state->hold; \
        bits = state->bits; \
    } while (0)

Definition at line 403 of file inflate.c.

Referenced by border_cb(), inflate(), modal_cb(), non_modal_cb(), shortcut_in_cb(), and xclass_cb().

#define NEEDBITS (   n)
Value:
do { \
        while (bits < (unsigned)(n)) \
            PULLBYTE(); \
    } while (0)

Definition at line 443 of file inflate.c.

Referenced by inflate().

#define PULLBYTE ( )
Value:
do { \
        if (have == 0) goto inf_leave; \
        have--; \
        hold += (unsigned long)(*next++) << bits; \
        bits += 8; \
    } while (0)

Definition at line 433 of file inflate.c.

Referenced by inflate().

#define RESTORE ( )
Value:
do { \
        strm->next_out = put; \
        strm->avail_out = left; \
        strm->next_in = next; \
        strm->avail_in = have; \
        state->hold = hold; \
        state->bits = bits; \
    } while (0)

Definition at line 414 of file inflate.c.

Referenced by inflate().

#define REVERSE (   q)
Value:
((((q) >> 24) & 0xff) + (((q) >> 8) & 0xff00) + \
     (((q) & 0xff00) << 8) + (((q) & 0xff) << 24))

Definition at line 468 of file inflate.c.

Referenced by inflate().

#define UPDATE (   check,
  buf,
  len 
)    (state->flags ? crc32(check, buf, len) : adler32(check, buf, len))

Definition at line 377 of file inflate.c.

Referenced by inflate().


Function Documentation

local void fixedtables ( struct inflate_state FAR *  state)

Definition at line 205 of file inflate.c.

References DISTS, inflate_table(), and LENS.

Referenced by inflate().

int ZEXPORT inflate ( z_streamp  strm,
int  flush 
)

Definition at line 554 of file inflate.c.

References adler32(), BAD, code::bits, BITS, inflate_state::bits, BYTEBITS, CHECK, inflate_state::check, CODELENS, CODES, inflate_state::codes, COMMENT, COPY, CRC2, crc32(), CRC4, DICT, DICTID, DIST, inflate_state::distbits, inflate_state::distcode, DISTEXT, DISTS, inflate_state::dmax, DONE, DROPBITS, EXLEN, inflate_state::extra, EXTRA, fixedtables(), inflate_state::flags, FLAGS, GUNZIP, inflate_state::have, inflate_state::havedict, HCRC, inflate_state::head, HEAD, inflate_state::hold, inflate_fast(), inflate_table(), INITBITS, int, inflate_state::last, LEN, inflate_state::lenbits, inflate_state::lencode, LENEXT, LENGTH, inflate_state::length, LENLENS, LENS, inflate_state::lens, LIT, LOAD, MATCH, MEM, inflate_state::mode, NAME, inflate_state::ncode, inflate_state::ndist, NEEDBITS, inflate_state::next, inflate_state::nlen, inflate_state::offset, code::op, OS, PULLBYTE, RESTORE, REVERSE, state, STORED, SYNC, TABLE, TIME, inflate_state::total, Tracev, Tracevv, TYPE, TYPEDO, UPDATE, updatewindow(), code::val, val, inflate_state::wbits, inflate_state::whave, inflate_state::window, inflate_state::work, inflate_state::wrap, inflate_state::write, inflate_state::wsize, Z_BLOCK, Z_BUF_ERROR, Z_DATA_ERROR, Z_DEFLATED, Z_FINISH, Z_MEM_ERROR, Z_NEED_DICT, Z_NULL, Z_OK, Z_STREAM_END, Z_STREAM_ERROR, and zmemcpy().

Referenced by gzread(), png_decompress_chunk(), png_process_IDAT_data(), png_push_read_zTXt(), png_read_finish_row(), png_read_row(), and uncompress().

int ZEXPORT inflateEnd ( z_streamp  strm)

Definition at line 1155 of file inflate.c.

References state, Tracev, inflate_state::window, Z_NULL, Z_OK, Z_STREAM_ERROR, and ZFREE.

Referenced by destroy(), png_read_destroy(), and uncompress().

int ZEXPORT inflateGetHeader ( z_streamp  strm,
gz_headerp  head 
)

Definition at line 1211 of file inflate.c.

References inflate_state::head, state, inflate_state::wrap, Z_NULL, Z_OK, and Z_STREAM_ERROR.

int ZEXPORT inflateInit2_ ( z_streamp  strm,
int  windowBits,
const char *  version,
int  stream_size 
)
int ZEXPORT inflateInit_ ( z_streamp  strm,
const char *  version,
int  stream_size 
)

Definition at line 187 of file inflate.c.

References DEF_WBITS, and inflateInit2_().

int ZEXPORT inflatePrime ( z_streamp  strm,
int  bits,
int  value 
)

Definition at line 128 of file inflate.c.

References inflate_state::bits, inflate_state::hold, state, Z_NULL, Z_OK, and Z_STREAM_ERROR.

int ZEXPORT inflateSyncPoint ( z_streamp  strm)

Definition at line 1313 of file inflate.c.

References inflate_state::bits, inflate_state::mode, state, STORED, Z_NULL, and Z_STREAM_ERROR.

local unsigned syncsearch OF ( (unsigned FAR *have, unsigned char FAR *buf, unsigned len)  )
local void fixedtables OF ( (struct inflate_state FAR *state )
local int updatewindow OF ( (z_streamp strm, unsigned out)  )
local unsigned syncsearch ( unsigned FAR *  have,
unsigned char FAR *  buf,
unsigned  len 
)

Definition at line 1239 of file inflate.c.

References inflate_state::have, and inflate_state::next.

Referenced by inflateSync().

local int updatewindow ( z_streamp  strm,
unsigned  out 
)