Main Page Modules Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# infutil.h File Reference

This graph shows which files directly or indirectly include this file:

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 | ( | j |  | ) | {b>>=(j);k-=(j);}

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

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

#define LOAD {LOADIN LOADOUT}

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

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

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

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

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

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

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

#define UPDATE {UPDBITS UPDIN UPDOUT}

#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 WAVAIL (uInt)(q<s->read?s->read-q-1:s->end-q)

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

## Enumeration Type Documentation

enum inflate_block_mode

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

## Function Documentation

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

## Variable Documentation

uInt inflate_mask[17]