Lines Matching refs:data

98 	struct private_data *data;  in archive_write_add_filter_lz4()  local
103 data = calloc(1, sizeof(*data)); in archive_write_add_filter_lz4()
104 if (data == NULL) { in archive_write_add_filter_lz4()
112 data->compression_level = 1; in archive_write_add_filter_lz4()
113 data->version_number = 0x01; in archive_write_add_filter_lz4()
114 data->block_independence = 1; in archive_write_add_filter_lz4()
115 data->block_checksum = 0; in archive_write_add_filter_lz4()
116 data->stream_size = 0; in archive_write_add_filter_lz4()
117 data->stream_checksum = 1; in archive_write_add_filter_lz4()
118 data->preset_dictionary = 0; in archive_write_add_filter_lz4()
119 data->block_maximum_size = 7; in archive_write_add_filter_lz4()
124 f->data = data; in archive_write_add_filter_lz4()
138 data->pdata = __archive_write_program_allocate("lz4"); in archive_write_add_filter_lz4()
139 if (data->pdata == NULL) { in archive_write_add_filter_lz4()
140 free(data); in archive_write_add_filter_lz4()
144 data->compression_level = 0; in archive_write_add_filter_lz4()
158 struct private_data *data = (struct private_data *)f->data; in archive_filter_lz4_options() local
174 data->compression_level = val; in archive_filter_lz4_options()
178 data->stream_checksum = value != NULL; in archive_filter_lz4_options()
182 data->block_checksum = value != NULL; in archive_filter_lz4_options()
189 data->block_maximum_size = value[0] - '0'; in archive_filter_lz4_options()
193 data->block_independence = value == NULL; in archive_filter_lz4_options()
223 struct private_data *data = (struct private_data *)f->data; in archive_filter_lz4_open() local
229 if (data->block_maximum_size < 4) in archive_filter_lz4_open()
230 data->block_size = bkmap[0]; in archive_filter_lz4_open()
232 data->block_size = bkmap[data->block_maximum_size - 4]; in archive_filter_lz4_open()
234 required_size = 4 + 15 + 4 + data->block_size + 4 + 4; in archive_filter_lz4_open()
235 if (data->out_buffer_size < required_size) { in archive_filter_lz4_open()
237 free(data->out_buffer); in archive_filter_lz4_open()
249 data->out_block_size = bs; in archive_filter_lz4_open()
251 data->out_buffer = malloc(bs); in archive_filter_lz4_open()
252 data->out = data->out_buffer; in archive_filter_lz4_open()
253 data->out_buffer_size = bs; in archive_filter_lz4_open()
256 pre_block_size = (data->block_independence)? 0: 64 * 1024; in archive_filter_lz4_open()
257 if (data->in_buffer_size < data->block_size + pre_block_size) { in archive_filter_lz4_open()
258 free(data->in_buffer_allocated); in archive_filter_lz4_open()
259 data->in_buffer_size = data->block_size; in archive_filter_lz4_open()
260 data->in_buffer_allocated = in archive_filter_lz4_open()
261 malloc(data->in_buffer_size + pre_block_size); in archive_filter_lz4_open()
262 data->in_buffer = data->in_buffer_allocated + pre_block_size; in archive_filter_lz4_open()
263 if (!data->block_independence && data->compression_level >= 3) in archive_filter_lz4_open()
264 data->in_buffer = data->in_buffer_allocated; in archive_filter_lz4_open()
265 data->in = data->in_buffer; in archive_filter_lz4_open()
266 data->in_buffer_size = data->block_size; in archive_filter_lz4_open()
269 if (data->out_buffer == NULL || data->in_buffer_allocated == NULL) { in archive_filter_lz4_open()
289 struct private_data *data = (struct private_data *)f->data; in archive_filter_lz4_write() local
296 if (!data->header_written) { in archive_filter_lz4_write()
300 data->header_written = 1; in archive_filter_lz4_write()
304 data->total_in += length; in archive_filter_lz4_write()
314 l = data->out - data->out_buffer; in archive_filter_lz4_write()
315 if (l >= data->out_block_size) { in archive_filter_lz4_write()
317 data->out_buffer, data->out_block_size); in archive_filter_lz4_write()
318 l -= data->out_block_size; in archive_filter_lz4_write()
319 memcpy(data->out_buffer, in archive_filter_lz4_write()
320 data->out_buffer + data->out_block_size, l); in archive_filter_lz4_write()
321 data->out = data->out_buffer + l; in archive_filter_lz4_write()
338 struct private_data *data = (struct private_data *)f->data; in archive_filter_lz4_close() local
349 memset(data->out, 0, 4); data->out += 4; in archive_filter_lz4_close()
351 if (data->stream_checksum) { in archive_filter_lz4_close()
354 data->xxh32_state); in archive_filter_lz4_close()
355 data->xxh32_state = NULL; in archive_filter_lz4_close()
356 archive_le32enc(data->out, checksum); in archive_filter_lz4_close()
357 data->out += 4; in archive_filter_lz4_close()
360 data->out_buffer, data->out - data->out_buffer); in archive_filter_lz4_close()
368 struct private_data *data = (struct private_data *)f->data; in archive_filter_lz4_free() local
370 if (data->lz4_stream != NULL) { in archive_filter_lz4_free()
372 if (data->compression_level >= 3) in archive_filter_lz4_free()
374 LZ4_freeStreamHC(data->lz4_stream); in archive_filter_lz4_free()
376 LZ4_freeHC(data->lz4_stream); in archive_filter_lz4_free()
381 LZ4_freeStream(data->lz4_stream); in archive_filter_lz4_free()
383 LZ4_free(data->lz4_stream); in archive_filter_lz4_free()
386 free(data->out_buffer); in archive_filter_lz4_free()
387 free(data->in_buffer_allocated); in archive_filter_lz4_free()
388 free(data->xxh32_state); in archive_filter_lz4_free()
389 free(data); in archive_filter_lz4_free()
390 f->data = NULL; in archive_filter_lz4_free()
397 struct private_data *data = (struct private_data *)f->data; in lz4_write_stream_descriptor() local
400 sd = (uint8_t *)data->out; in lz4_write_stream_descriptor()
404 sd[4] = (data->version_number << 6) in lz4_write_stream_descriptor()
405 | (data->block_independence << 5) in lz4_write_stream_descriptor()
406 | (data->block_checksum << 4) in lz4_write_stream_descriptor()
407 | (data->stream_size << 3) in lz4_write_stream_descriptor()
408 | (data->stream_checksum << 2) in lz4_write_stream_descriptor()
409 | (data->preset_dictionary << 0); in lz4_write_stream_descriptor()
411 sd[5] = (data->block_maximum_size << 4); in lz4_write_stream_descriptor()
413 data->out += 7; in lz4_write_stream_descriptor()
414 if (data->stream_checksum) in lz4_write_stream_descriptor()
415 data->xxh32_state = __archive_xxhash.XXH32_init(0); in lz4_write_stream_descriptor()
417 data->xxh32_state = NULL; in lz4_write_stream_descriptor()
425 struct private_data *data = (struct private_data *)f->data; in lz4_write_one_block() local
430 if (data->in_buffer == data->in) in lz4_write_one_block()
433 size_t l = data->in - data->in_buffer; in lz4_write_one_block()
434 r = drive_compressor(f, data->in_buffer, l); in lz4_write_one_block()
438 } else if ((data->block_independence || data->compression_level < 3) && in lz4_write_one_block()
439 data->in_buffer == data->in && length >= data->block_size) { in lz4_write_one_block()
440 r = drive_compressor(f, p, data->block_size); in lz4_write_one_block()
442 r = (ssize_t)data->block_size; in lz4_write_one_block()
444 size_t remaining_size = data->in_buffer_size - in lz4_write_one_block()
445 (data->in - data->in_buffer); in lz4_write_one_block()
447 memcpy(data->in, p, l); in lz4_write_one_block()
448 data->in += l; in lz4_write_one_block()
450 r = drive_compressor(f, data->in_buffer, in lz4_write_one_block()
451 data->block_size); in lz4_write_one_block()
454 data->in = data->in_buffer; in lz4_write_one_block()
473 struct private_data *data = (struct private_data *)f->data; in drive_compressor() local
475 if (data->stream_checksum) in drive_compressor()
476 __archive_xxhash.XXH32_update(data->xxh32_state, in drive_compressor()
478 if (data->block_independence) in drive_compressor()
488 struct private_data *data = (struct private_data *)f->data; in drive_compressor_independence() local
492 if (data->compression_level >= 3) in drive_compressor_independence()
494 outsize = LZ4_compress_HC(p, data->out + 4, in drive_compressor_independence()
495 (int)length, (int)data->block_size, in drive_compressor_independence()
496 data->compression_level); in drive_compressor_independence()
498 outsize = LZ4_compressHC2_limitedOutput(p, data->out + 4, in drive_compressor_independence()
499 (int)length, (int)data->block_size, in drive_compressor_independence()
500 data->compression_level); in drive_compressor_independence()
505 outsize = LZ4_compress_default(p, data->out + 4, in drive_compressor_independence()
506 (int)length, (int)data->block_size); in drive_compressor_independence()
508 outsize = LZ4_compress_limitedOutput(p, data->out + 4, in drive_compressor_independence()
509 (int)length, (int)data->block_size); in drive_compressor_independence()
514 archive_le32enc(data->out, outsize); in drive_compressor_independence()
515 data->out += 4; in drive_compressor_independence()
519 archive_le32enc(data->out, (uint32_t)(length | 0x80000000)); in drive_compressor_independence()
520 data->out += 4; in drive_compressor_independence()
521 memcpy(data->out, p, length); in drive_compressor_independence()
524 data->out += outsize; in drive_compressor_independence()
525 if (data->block_checksum) { in drive_compressor_independence()
527 __archive_xxhash.XXH32(data->out - outsize, outsize, 0); in drive_compressor_independence()
528 archive_le32enc(data->out, checksum); in drive_compressor_independence()
529 data->out += 4; in drive_compressor_independence()
538 struct private_data *data = (struct private_data *)f->data; in drive_compressor_dependence() local
543 if (data->compression_level >= 3) { in drive_compressor_dependence()
544 if (data->lz4_stream == NULL) { in drive_compressor_dependence()
546 data->lz4_stream = LZ4_createStreamHC(); in drive_compressor_dependence()
547 LZ4_resetStreamHC(data->lz4_stream, data->compression_level); in drive_compressor_dependence()
549 data->lz4_stream = in drive_compressor_dependence()
550 LZ4_createHC(data->in_buffer_allocated); in drive_compressor_dependence()
552 if (data->lz4_stream == NULL) { in drive_compressor_dependence()
560 LZ4_loadDictHC(data->lz4_stream, data->in_buffer_allocated, DICT_SIZE); in drive_compressor_dependence()
564 data->lz4_stream, p, data->out + 4, (int)length, in drive_compressor_dependence()
565 (int)data->block_size); in drive_compressor_dependence()
568 data->lz4_stream, p, data->out + 4, (int)length, in drive_compressor_dependence()
569 (int)data->block_size, data->compression_level); in drive_compressor_dependence()
574 if (data->lz4_stream == NULL) { in drive_compressor_dependence()
575 data->lz4_stream = LZ4_createStream(); in drive_compressor_dependence()
576 if (data->lz4_stream == NULL) { in drive_compressor_dependence()
584 LZ4_loadDict(data->lz4_stream, data->in_buffer_allocated, DICT_SIZE); in drive_compressor_dependence()
588 data->lz4_stream, p, data->out + 4, (int)length, in drive_compressor_dependence()
589 (int)data->block_size, 1); in drive_compressor_dependence()
592 data->lz4_stream, p, data->out + 4, (int)length, in drive_compressor_dependence()
593 (int)data->block_size); in drive_compressor_dependence()
599 archive_le32enc(data->out, outsize); in drive_compressor_dependence()
600 data->out += 4; in drive_compressor_dependence()
604 archive_le32enc(data->out, (uint32_t)(length | 0x80000000)); in drive_compressor_dependence()
605 data->out += 4; in drive_compressor_dependence()
606 memcpy(data->out, p, length); in drive_compressor_dependence()
609 data->out += outsize; in drive_compressor_dependence()
610 if (data->block_checksum) { in drive_compressor_dependence()
612 __archive_xxhash.XXH32(data->out - outsize, outsize, 0); in drive_compressor_dependence()
613 archive_le32enc(data->out, checksum); in drive_compressor_dependence()
614 data->out += 4; in drive_compressor_dependence()
617 if (length == data->block_size) { in drive_compressor_dependence()
619 if (data->compression_level >= 3) { in drive_compressor_dependence()
621 LZ4_saveDictHC(data->lz4_stream, data->in_buffer_allocated, DICT_SIZE); in drive_compressor_dependence()
623 LZ4_slideInputBufferHC(data->lz4_stream); in drive_compressor_dependence()
625 data->in_buffer = data->in_buffer_allocated + DICT_SIZE; in drive_compressor_dependence()
629 LZ4_saveDict(data->lz4_stream, in drive_compressor_dependence()
630 data->in_buffer_allocated, DICT_SIZE); in drive_compressor_dependence()
641 struct private_data *data = (struct private_data *)f->data; in archive_filter_lz4_open() local
649 if (data->compression_level > 0) { in archive_filter_lz4_open()
651 archive_strappend_char(&as, '0' + data->compression_level); in archive_filter_lz4_open()
655 archive_strappend_char(&as, '0' + data->block_maximum_size); in archive_filter_lz4_open()
657 if (data->block_checksum) in archive_filter_lz4_open()
659 if (data->stream_checksum == 0) in archive_filter_lz4_open()
661 if (data->block_independence == 0) in archive_filter_lz4_open()
666 r = __archive_write_program_open(f, data->pdata, as.s); in archive_filter_lz4_open()
675 struct private_data *data = (struct private_data *)f->data; in archive_filter_lz4_write() local
677 return __archive_write_program_write(f, data->pdata, buff, length); in archive_filter_lz4_write()
683 struct private_data *data = (struct private_data *)f->data; in archive_filter_lz4_close() local
685 return __archive_write_program_close(f, data->pdata); in archive_filter_lz4_close()
691 struct private_data *data = (struct private_data *)f->data; in archive_filter_lz4_free() local
693 __archive_write_program_free(data->pdata); in archive_filter_lz4_free()
694 free(data); in archive_filter_lz4_free()