static void isal_deflate_pass(struct isal_zstream *stream) { struct isal_zstate *state = &stream->internal_state; struct isal_hufftables *hufftables = stream->hufftables; uint8_t *start_in = stream->next_in; if (state->state == ZSTATE_NEW_HDR || state->state == ZSTATE_HDR) { if (state->count == 0) /* Assume the final header is being written since the header * stored in hufftables is the final header. */ state->has_eob_hdr = 1; write_header(stream, hufftables->deflate_hdr, hufftables->deflate_hdr_count, hufftables->deflate_hdr_extra_bits, ZSTATE_BODY, !stream->end_of_stream); } if (state->state == ZSTATE_BODY) isal_deflate_body(stream); if (state->state == ZSTATE_FLUSH_READ_BUFFER) isal_deflate_finish(stream); if (state->state == ZSTATE_SYNC_FLUSH) sync_flush(stream); if (state->state == ZSTATE_FLUSH_WRITE_BUFFER) flush_write_buffer(stream); if (stream->gzip_flag) state->crc = crc32_gzip(state->crc, start_in, stream->next_in - start_in); if (state->state == ZSTATE_TRL) write_trailer(stream); }
static void isal_deflate_int(struct isal_zstream *stream) { struct isal_zstate *state = &stream->internal_state; if (state->state == ZSTATE_NEW_HDR || state->state == ZSTATE_HDR) write_header(stream); if (state->state == ZSTATE_BODY) isal_deflate_body(stream); if (state->state == ZSTATE_FLUSH_READ_BUFFER) isal_deflate_finish(stream); if (state->state == ZSTATE_SYNC_FLUSH) sync_flush(stream); if (state->state == ZSTATE_FLUSH_WRITE_BUFFER) flush_write_buffer(stream); if (state->state == ZSTATE_TRL) write_trailer(stream); }