ReactOS 0.4.15-dev-7842-g558ab78
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
 

Macros

#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]
 

Macro Definition Documentation

◆ DUMPBITS

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

Definition at line 76 of file infutil.h.

◆ FLUSH

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

Definition at line 81 of file infutil.h.

◆ LEAVE

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

Definition at line 70 of file infutil.h.

◆ LOAD

#define LOAD   {LOADIN LOADOUT}

Definition at line 85 of file infutil.h.

◆ LOADIN

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

Definition at line 72 of file infutil.h.

◆ LOADOUT

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

Definition at line 79 of file infutil.h.

◆ NEEDBITS

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

Definition at line 75 of file infutil.h.

◆ NEEDBYTE

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

Definition at line 73 of file infutil.h.

◆ NEEDOUT

#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.

◆ NEXTBYTE

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

Definition at line 74 of file infutil.h.

◆ OUTBYTE

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

Definition at line 83 of file infutil.h.

◆ UPDATE

#define UPDATE   {UPDBITS UPDIN UPDOUT}

Definition at line 69 of file infutil.h.

◆ UPDBITS

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

Definition at line 66 of file infutil.h.

◆ UPDIN

#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.

◆ UPDOUT

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

Definition at line 68 of file infutil.h.

◆ WAVAIL

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

Definition at line 78 of file infutil.h.

◆ WRAP

#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

◆ inflate_block_mode

Enumerator
TYPE 
LENS 
STORED 
TABLE 
BTREE 
DTREE 
CODES 
DRY 
DONE 
BAD 

Definition at line 14 of file infutil.h.

14 {
15 TYPE, /* get type bits (3, including end bit) */
16 LENS, /* get lengths for stored */
17 STORED, /* processing stored block */
18 TABLE, /* get table lengths */
19 BTREE, /* get bit lengths tree for a dynamic block */
20 DTREE, /* get length, distance trees for a dynamic block */
21 CODES, /* processing fixed or dynamic block */
22 DRY, /* output remaining window bytes */
23 DONE, /* finished last block, done */
24 BAD} /* got a data error--stuck here */
@ BTREE
Definition: infutil.h:19
@ TABLE
Definition: infutil.h:18
@ CODES
Definition: infutil.h:21
@ STORED
Definition: infutil.h:17
@ LENS
Definition: infutil.h:16
@ DONE
Definition: infutil.h:23
@ DTREE
Definition: infutil.h:20
@ DRY
Definition: infutil.h:22
@ TYPE
Definition: infutil.h:15
@ BAD
Definition: infutil.h:24

Function Documentation

◆ OF()

Variable Documentation

◆ inflate_mask

uInt inflate_mask[17]

Definition at line 89 of file infutil.h.