Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

infutil.h File Reference

Go to the source code of this file.

Compounds

struct  inflate_blocks_state
struct  internal_state

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
}

Functions

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

Variables

uInt inflate_mask [17]


Define Documentation

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

Definition at line 76 of file infutil.h.

Referenced by r(), and z().

#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      {while(k<(j)){NEEDBYTE;b|=((uLong)NEXTBYTE)<<k;k+=8;}}
 

Definition at line 75 of file infutil.h.

Referenced by r().

#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      {*q++=(Byte)(a);m--;}
 

Definition at line 83 of file infutil.h.

Referenced by r().

#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

enum inflate_block_mode
 

Enumeration values:
TYPE 
LENS 
STORED 
TABLE 
BTREE 
DTREE 
CODES 
DRY 
DONE 
BAD 

Definition at line 14 of file infutil.h.

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


Function Documentation

int inflate_flush OF (inflate_blocks_statef *, z_streamp, int)   
 


Variable Documentation

uInt inflate_mask[17]
 

Definition at line 88 of file infutil.h.


Generated on Sat Oct 13 16:08:49 2001 for XMILL by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001