• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/xz/src/liblzma/common/

Lines Matching defs:outq

57 lzma_outq_init(lzma_outq *outq, const lzma_allocator *allocator,
68 if (outq->buf_size_max != buf_size_max
69 || outq->bufs_allocated != bufs_count) {
70 lzma_outq_end(outq, allocator);
77 outq->bufs = lzma_alloc(bufs_count * sizeof(lzma_outbuf),
79 outq->bufs_mem = lzma_alloc((size_t)(bufs_alloc_size),
82 if (outq->bufs == NULL || outq->bufs_mem == NULL) {
83 lzma_outq_end(outq, allocator);
89 // outq->bufs[] is done when they are actually needed.
90 outq->buf_size_max = (size_t)(buf_size_max);
91 outq->bufs_allocated = bufs_count;
92 outq->bufs_pos = 0;
93 outq->bufs_used = 0;
94 outq->read_pos = 0;
101 lzma_outq_end(lzma_outq *outq, const lzma_allocator *allocator)
103 lzma_free(outq->bufs, allocator);
104 outq->bufs = NULL;
106 lzma_free(outq->bufs_mem, allocator);
107 outq->bufs_mem = NULL;
114 lzma_outq_get_buf(lzma_outq *outq)
117 assert(outq->bufs_used < outq->bufs_allocated);
120 lzma_outbuf *buf = &outq->bufs[outq->bufs_pos];
121 buf->buf = outq->bufs_mem + outq->bufs_pos * outq->buf_size_max;
126 if (++outq->bufs_pos == outq->bufs_allocated)
127 outq->bufs_pos = 0;
129 ++outq->bufs_used;
136 lzma_outq_is_readable(const lzma_outq *outq)
138 uint32_t i = outq->bufs_pos - outq->bufs_used;
139 if (outq->bufs_pos < outq->bufs_used)
140 i += outq->bufs_allocated;
142 return outq->bufs[i].finished;
147 lzma_outq_read(lzma_outq *restrict outq, uint8_t *restrict out,
153 if (outq->bufs_used == 0)
157 uint32_t i = outq->bufs_pos - outq->bufs_used;
158 if (outq->bufs_pos < outq->bufs_used)
159 i += outq->bufs_allocated;
161 lzma_outbuf *buf = &outq->bufs[i];
168 lzma_bufcpy(buf->buf, &outq->read_pos, buf->size,
172 if (outq->read_pos < buf->size)
180 --outq->bufs_used;
181 outq->read_pos = 0;