infback.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 | LOAD()
#define | RESTORE()
#define | INITBITS()
#define | PULL()
#define | PULLBYTE()
#define | NEEDBITS(n)
#define | BITS(n) ((unsigned)hold & ((1U << (n)) - 1))
#define | DROPBITS(n)
#define | BYTEBITS()
#define | ROOM()

## Functions

void fixedtables | OF ((struct inflate_state FAR *state))
int ZEXPORT | inflateBackInit_ (z_streamp strm, int windowBits, unsigned char FAR *window, const char *version, int stream_size)
void | fixedtables (struct inflate_state FAR *state)
int ZEXPORT | inflateBack (z_streamp strm, in_func in, void FAR *in_desc, out_func out, void FAR *out_desc)
int ZEXPORT | inflateBackEnd (z_streamp strm)

## Macro Definition Documentation

## BITS

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

Definition at line 190 of file infback.c.

## BYTEBITS

#define BYTEBITS | ( |  | ) |

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

Definition at line 201 of file infback.c.

## DROPBITS

#define DROPBITS | ( |  | n | ) |

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

Definition at line 194 of file infback.c.

## INITBITS

#define INITBITS | ( |  | ) |

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

Definition at line 150 of file infback.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 128 of file infback.c.

## NEEDBITS

#define NEEDBITS | ( |  | n | ) |

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

Definition at line 183 of file infback.c.

## PULL

#define PULL | ( |  | ) |

Value:
do { \
if (have == 0) { \
have = in(in_desc, &next); \
if (have == 0) { \
next = Z_NULL; \
ret = Z_BUF_ERROR; \
goto inf_leave; \
} \
} \
} while (0)
Z_BUF_ERROR
#define Z_BUF_ERROR
Definition: zlib.h:184
Z_NULL
#define Z_NULL
Definition: zlib.h:212

Definition at line 158 of file infback.c.

## PULLBYTE

#define PULLBYTE | ( |  | ) |

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

Definition at line 172 of file infback.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 139 of file infback.c.

## ROOM

#define ROOM | ( |  | ) |

Value:
do { \
if (left == 0) { \
put = state->window; \
left = state->wsize; \
state->whave = left; \
if (out(out_desc, put, left)) { \
ret = Z_BUF_ERROR; \
goto inf_leave; \
} \
} \
} while (0)

Definition at line 210 of file infback.c.

## Function Documentation

## fixedtables()

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

Definition at line 82 of file infback.c.

## inflateBack()

int ZEXPORT inflateBack | ( | z_streamp | strm,
|  | in_func | in,
|  | void FAR * | in_desc,
|  | out_func | out,
|  | void FAR * | out_desc
| ) |  |

Definition at line 250 of file infback.c.

## inflateBackEnd()

int ZEXPORT inflateBackEnd | ( | z_streamp | strm | ) |

Definition at line 631 of file infback.c.

## inflateBackInit_()

int ZEXPORT inflateBackInit_ | ( | z_streamp | strm,
|  | int | windowBits,
|  | unsigned char FAR * | window,
|  | const char * | version,
|  | int | stream_size
| ) |  |

Definition at line 28 of file infback.c.

## OF()

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