inflate.c File Reference
`#include "zutil.h"`
`#include "inftrees.h"`
`#include "inflate.h"`
`#include "inffast.h"`
`#include "inffixed.h"`

Go to the source code of this file.

## Macros

#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()

## Functions

int inflateStateCheck | OF ((z_streamp strm))
void fixedtables | OF ((struct inflate_state FAR *state))
int updatewindow | OF ((z_streamp strm, const unsigned char FAR *end, unsigned copy))
unsigned syncsearch | OF ((unsigned FAR *have, const unsigned char FAR *buf, unsigned len))
int | inflateStateCheck (z_streamp strm)
int ZEXPORT | inflateResetKeep (z_streamp strm)
int ZEXPORT | inflateReset (z_streamp strm)
int ZEXPORT | inflateReset2 (z_streamp strm, int windowBits)
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)
int ZEXPORT | inflatePrime (z_streamp strm, int bits, int value)
void | fixedtables (struct inflate_state FAR *state)
int | updatewindow (z_streamp strm, const Bytef *end, unsigned copy)
int ZEXPORT | inflate (z_streamp strm, int flush)
int ZEXPORT | inflateEnd (z_streamp strm)
int ZEXPORT | inflateGetDictionary (z_streamp strm, Bytef *dictionary, uInt *dictLength)
int ZEXPORT | inflateSetDictionary (z_streamp strm, const Bytef *dictionary, uInt dictLength)
int ZEXPORT | inflateGetHeader (z_streamp strm, gz_headerp head)
unsigned | syncsearch (unsigned FAR *have, const 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)
int ZEXPORT | inflateUndermine (z_streamp strm, int subvert)
int ZEXPORT | inflateValidate (z_streamp strm, int check)
long ZEXPORT | inflateMark (z_streamp strm)
unsigned long ZEXPORT | inflateCodesUsed (z_streamp strm)

## Macro Definition Documentation

## BITS

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

Definition at line 523 of file inflate.c.

## BYTEBITS

#define BYTEBITS | ( |  | ) |

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

Definition at line 534 of file inflate.c.

## CRC2

#define CRC2 | ( |  | check,
|  |  | word
| ) |  |

Value:
do { \
hbuf[0] = (unsigned char)(word); \
hbuf[1] = (unsigned char)((word) >> 8); \
check = crc32(check, hbuf, 2); \
} while (0)
crc32
unsigned long ZEXPORT crc32(unsigned long crc, const unsigned char FAR *buf, uInt len)
Definition: crc32.c:237

Definition at line 458 of file inflate.c.

## CRC4

#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 465 of file inflate.c.

## DROPBITS

#define DROPBITS | ( |  | n | ) |

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

Definition at line 527 of file inflate.c.

## INITBITS

#define INITBITS | ( |  | ) |

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

Definition at line 498 of file inflate.c.

## LOAD

#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 476 of file inflate.c.

## NEEDBITS

#define NEEDBITS | ( |  | n | ) |

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

Definition at line 516 of file inflate.c.

## PULLBYTE

#define PULLBYTE | ( |  | ) |

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

Definition at line 506 of file inflate.c.

## RESTORE

#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 487 of file inflate.c.

## UPDATE

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

Definition at line 450 of file inflate.c.

## Function Documentation

## fixedtables()

void fixedtables | ( | struct inflate_state FAR * | state | ) |

Definition at line 278 of file inflate.c.

## inflate()

int ZEXPORT inflate | ( | z_streamp | strm,
|  | int | flush
| ) |  |

Definition at line 622 of file inflate.c.

## inflateCodesUsed()

unsigned long ZEXPORT inflateCodesUsed | ( | z_streamp | strm | ) |

Definition at line 1554 of file inflate.c.

## inflateCopy()

int ZEXPORT inflateCopy | ( | z_streamp | dest,
|  | z_streamp | source
| ) |  |

Definition at line 1461 of file inflate.c.

## inflateEnd()

int ZEXPORT inflateEnd | ( | z_streamp | strm | ) |

Definition at line 1277 of file inflate.c.

## inflateGetDictionary()

int ZEXPORT inflateGetDictionary | ( | z_streamp | strm,
|  | Bytef * | dictionary,
|  | uInt * | dictLength
| ) |  |

Definition at line 1291 of file inflate.c.

## inflateGetHeader()

int ZEXPORT inflateGetHeader | ( | z_streamp | strm,
|  | gz_headerp | head
| ) |  |

Definition at line 1349 of file inflate.c.

## inflateInit2_()

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

Definition at line 195 of file inflate.c.

## inflateInit_()

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

Definition at line 239 of file inflate.c.

## inflateMark()

long ZEXPORT inflateMark | ( | z_streamp | strm | ) |

Definition at line 1541 of file inflate.c.

## inflatePrime()

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

Definition at line 247 of file inflate.c.

## inflateReset()

int ZEXPORT inflateReset | ( | z_streamp | strm | ) |

Definition at line 144 of file inflate.c.

## inflateReset2()

int ZEXPORT inflateReset2 | ( | z_streamp | strm,
|  | int | windowBits
| ) |  |

Definition at line 157 of file inflate.c.

## inflateResetKeep()

int ZEXPORT inflateResetKeep | ( | z_streamp | strm | ) |

Definition at line 119 of file inflate.c.

## inflateSetDictionary()

int ZEXPORT inflateSetDictionary | ( | z_streamp | strm,
|  | const Bytef * | dictionary,
|  | uInt | dictLength
| ) |  |

Definition at line 1314 of file inflate.c.

## inflateStateCheck()

int inflateStateCheck | ( | z_streamp | strm | ) |

Definition at line 105 of file inflate.c.

## inflateSync()

int ZEXPORT inflateSync | ( | z_streamp | strm | ) |

Definition at line 1400 of file inflate.c.

## inflateSyncPoint()

int ZEXPORT inflateSyncPoint | ( | z_streamp | strm | ) |

Definition at line 1451 of file inflate.c.

## inflateUndermine()

int ZEXPORT inflateUndermine | ( | z_streamp | strm,
|  | int | subvert
| ) |  |

Definition at line 1508 of file inflate.c.

## inflateValidate()

int ZEXPORT inflateValidate | ( | z_streamp | strm,
|  | int | check
| ) |  |

Definition at line 1526 of file inflate.c.

## OF() [1/4]

void fixedtables OF | ( | (struct inflate_state FAR *state) |  | ) |

## OF() [2/4]

unsigned syncsearch OF | ( | (unsigned FAR *have, const unsigned char FAR *buf, unsigned len) |  | ) |

## OF() [3/4]

int inflateStateCheck OF | ( | (z_streamp strm) |  | ) |

## OF() [4/4]

int updatewindow OF | ( | (z_streamp strm, const unsigned char FAR *end, unsigned copy) |  | ) |

## syncsearch()

unsigned syncsearch | ( | unsigned FAR * | have,
|  | const unsigned char FAR * | buf,
|  | unsigned | len
| ) |  |

Definition at line 1377 of file inflate.c.

## updatewindow()

int updatewindow | ( | z_streamp | strm,
|  | const Bytef * | end,
|  | unsigned | copy
| ) |  |

Definition at line 396 of file inflate.c.