Ruby: ext/zlib/zlib-1.2.13/infback.c File Reference

Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)

Macros | Functions
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 191 of file infback.c.

## ◆ BYTEBITS

#define BYTEBITS | ( |  | ) |

Value:
do { \
hold >>= bits & 7; \
bits -= bits & 7; \
} while (0)
bits
int bits(struct state *s, int need)
Definition: blast.c:72

Definition at line 202 of file infback.c.

## ◆ DROPBITS

#define DROPBITS | ( |  | n | ) |

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

Definition at line 195 of file infback.c.

## ◆ INITBITS

#define INITBITS | ( |  | ) |

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

Definition at line 151 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)
state
Definition: blast.c:41

Definition at line 129 of file infback.c.

## ◆ NEEDBITS

#define NEEDBITS | ( |  | n | ) |

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

Definition at line 184 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)
in
unsigned in(void *in_desc, z_const unsigned char **buf)
Definition: gun.c:89
Z_BUF_ERROR
#define Z_BUF_ERROR
Definition: zlib.h:184
Z_NULL
#define Z_NULL
Definition: zlib.h:212

Definition at line 159 of file infback.c.

## ◆ PULLBYTE

#define PULLBYTE | ( |  | ) |

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

Definition at line 173 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 140 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)
out
string_t out
Definition: enough.c:230

Definition at line 211 of file infback.c.

## Function Documentation

## ◆ fixedtables()

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

Definition at line 83 of file infback.c.

References bits(), DISTS, fixed(), inflate_table(), LENS, inflate_state::next, and sym.

Referenced by inflateBack().

## ◆ inflateBack()

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

Definition at line 251 of file infback.c.

References BAD, bits(), code::bits, BITS, BYTEBITS, CODES, DISTS, DONE, DROPBITS, FAR, fixedtables(), inflate_state::have, inflate_state::hold, if(), inflate_fast(), inflate_table(), INITBITS, last, len, LEN, LENS, LOAD, NEEDBITS, state::next, inflate_state::next, code::op, out, PULL, PULLBYTE, RESTORE, ROOM, STORED, inflate_state::strm, TABLE, Tracev, Tracevv, TYPE, code::val, inflate_state::wsize, Z_BUF_ERROR, z_const, Z_DATA_ERROR, Z_NULL, Z_STREAM_END, Z_STREAM_ERROR, and zmemcpy.

Referenced by gunpipe().

## ◆ inflateBackEnd()

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

Definition at line 635 of file infback.c.

References inflate_state::strm, Tracev, Z_NULL, Z_OK, Z_STREAM_ERROR, and ZFREE.

Referenced by main().

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

References FAR, inflate_state::strm, Tracev, inflate_state::window, internal_state::window, Z_MEM_ERROR, Z_NULL, Z_OK, Z_STREAM_ERROR, Z_VERSION_ERROR, ZALLOC, zcalloc(), zcfree(), and ZLIB_VERSION.

## ◆ OF()

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