Lines Matching refs:strm

216  * allocating a large strm->next_in buffer and copying from it.
219 local unsigned read_buf(z_streamp strm, Bytef *buf, unsigned size)
221 unsigned len = strm->avail_in;
226 strm->avail_in -= len;
228 zmemcpy(buf, strm->next_in, len);
229 if (strm->state->wrap == 1) {
230 strm->adler = adler32(strm->adler, buf, len);
233 else if (strm->state->wrap == 2) {
234 strm->adler = crc32(strm->adler, buf, len);
237 strm->next_in += len;
238 strm->total_in += len;
291 if (s->strm->avail_in == 0) break;
306 n = read_buf(s->strm, s->window + s->strstart + s->lookahead, more);
333 } while (s->lookahead < MIN_LOOKAHEAD && s->strm->avail_in != 0);
374 int ZEXPORT deflateInit_(z_streamp strm, int level, const char *version,
376 return deflateInit2_(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL,
378 /* To do: ignore strm->next_in if we use it as window */
382 int ZEXPORT deflateInit2_(z_streamp strm, int level, int method,
393 if (strm == Z_NULL) return Z_STREAM_ERROR;
395 strm->msg = Z_NULL;
396 if (strm->zalloc == (alloc_func)0) {
400 strm->zalloc = zcalloc;
401 strm->opaque = (voidpf)0;
404 if (strm->zfree == (free_func)0)
408 strm->zfree = zcfree;
435 s = (deflate_state *) ZALLOC(strm, 1, sizeof(deflate_state));
437 strm->state = (struct internal_state FAR *)s;
438 s->strm = strm;
452 s->window = (Bytef *) ZALLOC(strm, s->w_size, 2*sizeof(Byte));
453 s->prev = (Posf *) ZALLOC(strm, s->w_size, sizeof(Pos));
454 s->head = (Posf *) ZALLOC(strm, s->hash_size, sizeof(Pos));
499 s->pending_buf = (uchf *) ZALLOC(strm, s->lit_bufsize, LIT_BUFS);
505 strm->msg = ERR_MSG(Z_MEM_ERROR);
506 deflateEnd (strm);
526 return deflateReset(strm);
532 local int deflateStateCheck(z_streamp strm)
535 if (strm == Z_NULL ||
536 strm->zalloc == (alloc_func)0 || strm->zfree == (free_func)0)
538 s = strm->state;
539 if (s == Z_NULL || s->strm != strm || (s->status != INIT_STATE &&
554 int ZEXPORT deflateSetDictionary(z_streamp strm, const Bytef *dictionary,
562 if (deflateStateCheck(strm) || dictionary == Z_NULL)
564 s = strm->state;
571 strm->adler = adler32(strm->adler, dictionary, dictLength);
587 avail = strm->avail_in;
588 next = strm->next_in;
589 strm->avail_in = dictLength;
590 strm->next_in = (z_const Bytef *)dictionary;
613 strm->next_in = next;
614 strm->avail_in = avail;
620 int ZEXPORT deflateGetDictionary(z_streamp strm, Bytef *dictionary,
625 if (deflateStateCheck(strm))
627 s = strm->state;
639 int ZEXPORT deflateResetKeep(z_streamp strm) {
642 if (deflateStateCheck(strm)) {
646 strm->total_in = strm->total_out = 0;
647 strm->msg = Z_NULL; /* use zfree if we ever allocate msg dynamically */
648 strm->data_type = Z_UNKNOWN;
650 s = (deflate_state *)strm->state;
662 strm->adler =
700 int ZEXPORT deflateReset(z_streamp strm) {
703 ret = deflateResetKeep(strm);
705 lm_init(strm->state);
710 int ZEXPORT deflateSetHeader(z_streamp strm, gz_headerp head) {
711 if (deflateStateCheck(strm) || strm->state->wrap != 2)
713 strm->state->gzhead = head;
718 int ZEXPORT deflatePending(z_streamp strm, unsigned *pending, int *bits) {
719 if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
721 *pending = strm->state->pending;
723 *bits = strm->state->bi_valid;
728 int ZEXPORT deflatePrime(z_streamp strm, int bits, int value) {
732 if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
733 s = strm->state;
757 int ZEXPORT deflateParams(z_streamp strm, int level, int strategy) {
761 if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
762 s = strm->state;
777 int err = deflate(strm, Z_BLOCK);
780 if (strm->avail_in || (s->strstart - s->block_start) + s->lookahead)
802 int ZEXPORT deflateTune(z_streamp strm, int good_length, int max_lazy,
806 if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
807 s = strm->state;
839 uLong ZEXPORT deflateBound(z_streamp strm, uLong sourceLen)
856 if (deflateStateCheck(strm))
860 s = strm->state;
920 * strm->next_out buffer and copying into it. (See also read_buf()).
922 local void flush_pending(z_streamp strm)
925 deflate_state *s = strm->state;
929 if (len > strm->avail_out) len = strm->avail_out;
932 zmemcpy(strm->next_out, s->pending_out, len);
933 strm->next_out += len;
935 strm->total_out += len;
936 strm->avail_out -= len;
949 strm->adler = crc32(strm->adler, s->pending_buf + (beg), \
954 int ZEXPORT deflate(z_streamp strm, int flush) {
958 if (deflateStateCheck(strm) || flush > Z_BLOCK || flush < 0) {
961 s = strm->state;
963 if (strm->next_out == Z_NULL ||
964 (strm->avail_in != 0 && strm->next_in == Z_NULL) ||
966 ERR_RETURN(strm, Z_STREAM_ERROR);
968 if (strm->avail_out == 0) ERR_RETURN(strm, Z_BUF_ERROR);
975 flush_pending(strm);
976 if (strm->avail_out == 0) {
991 } else if (strm->avail_in == 0 && RANK(flush) <= RANK(old_flush) &&
993 ERR_RETURN(strm, Z_BUF_ERROR);
997 if (s->status == FINISH_STATE && strm->avail_in != 0) {
998 ERR_RETURN(strm, Z_BUF_ERROR);
1025 putShortMSB(s, (uInt)(strm->adler >> 16));
1026 putShortMSB(s, (uInt)(strm->adler & 0xffff));
1028 strm->adler = adler32(0L, Z_NULL, 0);
1032 flush_pending(strm);
1041 strm->adler = crc32(0L, Z_NULL, 0);
1058 flush_pending(strm);
1084 strm->adler = crc32(strm->adler, s->pending_buf,
1101 flush_pending(strm);
1124 flush_pending(strm);
1146 flush_pending(strm);
1163 flush_pending(strm);
1169 put_byte(s, (Byte)(strm->adler & 0xff));
1170 put_byte(s, (Byte)((strm->adler >> 8) & 0xff));
1171 strm->adler = crc32(0L, Z_NULL, 0);
1176 flush_pending(strm);
1186 if (strm->avail_in != 0 || s->lookahead != 0 ||
1199 if (strm->avail_out == 0) {
1228 flush_pending(strm);
1229 if (strm->avail_out == 0) {
1242 put_byte(s, (Byte)(strm->adler & 0xff));
1243 put_byte(s, (Byte)((strm->adler >> 8) & 0xff));
1244 put_byte(s, (Byte)((strm->adler >> 16) & 0xff));
1245 put_byte(s, (Byte)((strm->adler >> 24) & 0xff));
1246 put_byte(s, (Byte)(strm->total_in & 0xff));
1247 put_byte(s, (Byte)((strm->total_in >> 8) & 0xff));
1248 put_byte(s, (Byte)((strm->total_in >> 16) & 0xff));
1249 put_byte(s, (Byte)((strm->total_in >> 24) & 0xff));
1254 putShortMSB(s, (uInt)(strm->adler >> 16));
1255 putShortMSB(s, (uInt)(strm->adler & 0xffff));
1257 flush_pending(strm);
1266 int ZEXPORT deflateEnd(z_streamp strm) {
1269 if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
1271 status = strm->state->status;
1274 TRY_FREE(strm, strm->state->pending_buf);
1275 TRY_FREE(strm, strm->state->head);
1276 TRY_FREE(strm, strm->state->prev);
1277 TRY_FREE(strm, strm->state->window);
1279 ZFREE(strm, strm->state);
1280 strm->state = Z_NULL;
1312 ds->strm = dest;
1607 flush_pending(s->strm); \
1614 if (s->strm->avail_out == 0) return (last) ? finish_started : need_more; \
1651 unsigned used = s->strm->avail_in;
1659 if (s->strm->avail_out < have) /* need room for header */
1662 have = s->strm->avail_out - have;
1664 if (len > (ulg)left + s->strm->avail_in)
1665 len = left + s->strm->avail_in; /* limit len to the input */
1676 len != left + s->strm->avail_in))
1682 last = flush == Z_FINISH && len == left + s->strm->avail_in ? 1 : 0;
1692 flush_pending(s->strm);
1704 zmemcpy(s->strm->next_out, s->window + s->block_start, left);
1705 s->strm->next_out += left;
1706 s->strm->avail_out -= left;
1707 s->strm->total_out += left;
1716 read_buf(s->strm, s->strm->next_out, len);
1717 s->strm->next_out += len;
1718 s->strm->avail_out -= len;
1719 s->strm->total_out += len;
1729 used -= s->strm->avail_in; /* number of input bytes directly copied */
1736 zmemcpy(s->window, s->strm->next_in - s->w_size, s->w_size);
1750 zmemcpy(s->window + s->strstart, s->strm->next_in - used, used);
1765 s->strm->avail_in == 0 && (long)s->strstart == s->block_start)
1770 if (s->strm->avail_in > have && s->block_start >= (long)s->w_size) {
1781 if (have > s->strm->avail_in)
1782 have = s->strm->avail_in;
1784 read_buf(s->strm, s->window + s->strstart, have);
1803 s->strm->avail_in == 0 && left <= have)) {
1805 last = flush == Z_FINISH && s->strm->avail_in == 0 &&
1809 flush_pending(s->strm);
2020 if (s->strm->avail_out == 0) return need_more;