gz_stream
struct gz_stream *s;
s->gz_stream.zalloc = gz_alloc;
s->gz_stream.zfree = gz_free;
s->gz_stream.opaque = NULL;
s->gz_stream.next_in = Z_NULL;
s->gz_stream.avail_in = 0;
error = deflateInit2(&s->gz_stream, level, Z_DEFLATED, -MAX_WBITS,
struct gz_stream *s;
(void)deflateReset(&s->gz_stream);
s->gz_stream.avail_out = s->gz_bufsz;
s->gz_stream.next_out = s->gz_buffer;
s->gz_stream.next_out += hdrlen;
s->gz_stream.avail_out -= hdrlen;
struct gz_stream *s;
s->gz_stream.avail_in = len;
s->gz_stream.next_in = data;
zerror = deflate(&s->gz_stream, zflag);
if (s->gz_stream.avail_out == 0 || zerror == Z_STREAM_END) {
len = s->gz_bufsz - s->gz_stream.avail_out;
htole32(s->gz_stream.total_in);
s->gz_stream.next_out = s->gz_buffer;
s->gz_stream.avail_out = s->gz_bufsz;
(zflag == Z_FINISH || s->gz_stream.avail_in > 0));
struct gz_stream *s;
(void)deflateEnd(&s->gz_stream);
z_stream gz_stream; /* zlib state */