Back to index

plt-scheme  4.2.1
Classes | Defines | Enumerations | Functions | Variables
infutil.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  inflate_blocks_state
struct  internal_state
union  inflate_blocks_state.sub
struct  inflate_blocks_state.sub.trees
struct  inflate_blocks_state.sub.decode

Defines

#define UPDBITS   {s->bitb=b;s->bitk=k;}
#define UPDIN   {z->avail_in=n;z->total_in+=p-z->next_in;z->next_in=p;}
#define UPDOUT   {s->write=q;}
#define UPDATE   {UPDBITS UPDIN UPDOUT}
#define LEAVE   {UPDATE return inflate_flush(s,z,r);}
#define LOADIN   {p=z->next_in;n=z->avail_in;b=s->bitb;k=s->bitk;}
#define NEEDBYTE   {if(n)r=Z_OK;else LEAVE}
#define NEXTBYTE   (n--,*p++)
#define NEEDBITS(j)   {while(k<(j)){NEEDBYTE;b|=((uLong)NEXTBYTE)<<k;k+=8;}}
#define DUMPBITS(j)   {b>>=(j);k-=(j);}
#define WAVAIL   (uInt)(q<s->read?s->read-q-1:s->end-q)
#define LOADOUT   {q=s->write;m=(uInt)WAVAIL;}
#define WRAP   {if(q==s->end&&s->read!=s->window){q=s->window;m=(uInt)WAVAIL;}}
#define FLUSH   {UPDOUT r=inflate_flush(s,z,r); LOADOUT}
#define NEEDOUT   {if(m==0){WRAP if(m==0){FLUSH WRAP if(m==0) LEAVE}}r=Z_OK;}
#define OUTBYTE(a)   {*q++=(Byte)(a);m--;}
#define LOAD   {LOADIN LOADOUT}

Enumerations

enum  inflate_block_mode {
  TYPE, LENS, STORED, TABLE,
  BTREE, DTREE, CODES, DRY,
  DONE, BAD, TYPE, LENS,
  STORED, TABLE, BTREE, DTREE,
  CODES, DRY, DONE, BAD
}

Functions

int inflate_flush OF ((inflate_blocks_statef *, z_streamp, int))

Variables

uInt inflate_mask [17]

Class Documentation

struct inflate_blocks_state

Definition at line 9 of file inflate.c.

Class Members
uLong bitb
uInt bitk
uLong check
check_func checkfn
int dummy
Bytef * end
inflate_huft * hufts
uInt last
inflate_block_mode mode
Bytef * read
union inflate_blocks_state sub
union inflate_blocks_state sub
Bytef * window
Bytef * write
struct internal_state

Definition at line 82 of file deflate.h.

Collaboration diagram for internal_state:
Class Members
ush bi_buf
int bi_valid
ush bl_count
long block_start
inflate_blocks_statef * blocks
ushf * d_buf
Byte data_type
uch depth
int dummy
uInt good_match
uInt hash_bits
uInt hash_mask
uInt hash_shift
uInt hash_size
Posf * head
int heap
int heap_len
int heap_max
uInt ins_h
uchf * l_buf
int last_eob_len
int last_flush
uInt last_lit
int level
uInt lit_bufsize
uInt lookahead
int match_available
uInt match_length
uInt match_start
uInt matches
uInt max_chain_length
uInt max_lazy_match
Byte method
inflate_mode mode
int nice_match
int noheader
int nowrap
ulg opt_len
int pending
Bytef * pending_buf
ulg pending_buf_size
Bytef * pending_out
Posf * prev
uInt prev_length
IPos prev_match
ulg static_len
int status
int strategy
z_streamp strm
uInt strstart
union internal_state sub
union internal_state sub
uInt w_bits
uInt w_mask
uInt w_size
uInt wbits
Bytef * window
ulg window_size
union inflate_blocks_state.sub

Definition at line 34 of file infutil.h.

Class Members
sub decode
uInt left
sub trees
struct inflate_blocks_state.sub.trees

Definition at line 36 of file infutil.h.

Class Members
uInt bb
uIntf * blens
uInt index
uInt table
inflate_huft * tb
struct inflate_blocks_state.sub.decode

Definition at line 43 of file infutil.h.

Class Members
inflate_codes_statef * codes

Define Documentation

#define DUMPBITS (   j)    {b>>=(j);k-=(j);}

Definition at line 76 of file infutil.h.

#define FLUSH   {UPDOUT r=inflate_flush(s,z,r); LOADOUT}

Definition at line 81 of file infutil.h.

#define LEAVE   {UPDATE return inflate_flush(s,z,r);}

Definition at line 70 of file infutil.h.

#define LOAD   {LOADIN LOADOUT}

Definition at line 85 of file infutil.h.

#define LOADIN   {p=z->next_in;n=z->avail_in;b=s->bitb;k=s->bitk;}

Definition at line 72 of file infutil.h.

#define LOADOUT   {q=s->write;m=(uInt)WAVAIL;}

Definition at line 79 of file infutil.h.

#define NEEDBITS (   j)    {while(k<(j)){NEEDBYTE;b|=((uLong)NEXTBYTE)<<k;k+=8;}}

Definition at line 75 of file infutil.h.

#define NEEDBYTE   {if(n)r=Z_OK;else LEAVE}

Definition at line 73 of file infutil.h.

#define NEEDOUT   {if(m==0){WRAP if(m==0){FLUSH WRAP if(m==0) LEAVE}}r=Z_OK;}

Definition at line 82 of file infutil.h.

#define NEXTBYTE   (n--,*p++)

Definition at line 74 of file infutil.h.

#define OUTBYTE (   a)    {*q++=(Byte)(a);m--;}

Definition at line 83 of file infutil.h.

#define UPDATE   {UPDBITS UPDIN UPDOUT}

Definition at line 69 of file infutil.h.

#define UPDBITS   {s->bitb=b;s->bitk=k;}

Definition at line 66 of file infutil.h.

#define UPDIN   {z->avail_in=n;z->total_in+=p-z->next_in;z->next_in=p;}

Definition at line 67 of file infutil.h.

#define UPDOUT   {s->write=q;}

Definition at line 68 of file infutil.h.

#define WAVAIL   (uInt)(q<s->read?s->read-q-1:s->end-q)

Definition at line 78 of file infutil.h.

#define WRAP   {if(q==s->end&&s->read!=s->window){q=s->window;m=(uInt)WAVAIL;}}

Definition at line 80 of file infutil.h.


Enumeration Type Documentation

Enumerator:
TYPE 
LENS 
STORED 
TABLE 
BTREE 
DTREE 
CODES 
DRY 
DONE 
BAD 
TYPE 
LENS 
STORED 
TABLE 
BTREE 
DTREE 
CODES 
DRY 
DONE 
BAD 

Definition at line 14 of file infutil.h.

             {
      TYPE,     /* get type bits (3, including end bit) */
      LENS,     /* get lengths for stored */
      STORED,   /* processing stored block */
      TABLE,    /* get table lengths */
      BTREE,    /* get bit lengths tree for a dynamic block */
      DTREE,    /* get length, distance trees for a dynamic block */
      CODES,    /* processing fixed or dynamic block */
      DRY,      /* output remaining window bytes */
      DONE,     /* finished last block, done */
      BAD}      /* got a data error--stuck here */

Function Documentation

int inflate_flush OF ( (inflate_blocks_statef *, z_streamp, int )

Variable Documentation

Definition at line 15 of file infutil.c.