ZXC 0.15.0
High-performance asymmetric lossless compression library
Loading...
Searching...
No Matches
zxc_opts.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause */
2/*
3 * ZXC - High-performance lossless compression
4 *
5 * Copyright (c) Bertrand Lebonnois and contributors.
6 */
7
20#ifndef ZXC_OPTS_H
21#define ZXC_OPTS_H
22
23#include <stddef.h>
24#include <stdint.h>
25
26#include "zxc_export.h"
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
43typedef void (*zxc_progress_callback_t)(uint64_t bytes_processed, uint64_t bytes_total,
44 const void* user_data);
45
75
97
106ZXC_EXPORT size_t zxc_compress_opts_size(void);
107
112ZXC_EXPORT size_t zxc_decompress_opts_size(void);
113
114#ifdef __cplusplus
115}
116#endif
117
118#endif // ZXC_OPTS_H
Options for compression.
Definition zxc_opts.h:58
int seekable
1 to append a seek table for random-access decompression.
Definition zxc_opts.h:64
zxc_progress_callback_t progress_cb
Optional progress callback (NULL to disable).
Definition zxc_opts.h:72
const void * dict
Pre-trained dictionary content (NULL = none).
Definition zxc_opts.h:65
int level
Compression level 1-7 (0 = default, ZXC_LEVEL_DEFAULT).
Definition zxc_opts.h:60
void * user_data
User context pointer passed to progress_cb.
Definition zxc_opts.h:73
size_t block_size
Block size in bytes (0 = default ZXC_BLOCK_SIZE_DEFAULT).
Definition zxc_opts.h:61
const void * dict_huf
Optional shared literal Huffman table: the 128-byte packed code-lengths header from zxc_train_dict_hu...
Definition zxc_opts.h:67
size_t dict_size
Dictionary size in bytes (0 = none, max ZXC_DICT_SIZE_MAX).
Definition zxc_opts.h:66
int checksum_enabled
1 to append the block checksums and archive digest, 0 to disable.
Definition zxc_opts.h:63
int n_threads
Worker thread count (0 = auto-detect CPU cores).
Definition zxc_opts.h:59
Options for decompression.
Definition zxc_opts.h:86
int checksum_enabled
1 to verify the block checksums and archive digest, 0 to skip.
Definition zxc_opts.h:88
int n_threads
Worker thread count (0 = auto-detect CPU cores).
Definition zxc_opts.h:87
const void * dict_huf
Shared literal Huffman table: the same 128-byte header used at compression time.
Definition zxc_opts.h:91
size_t dict_size
Dictionary size in bytes (0 = none).
Definition zxc_opts.h:90
zxc_progress_callback_t progress_cb
Optional progress callback (NULL to disable).
Definition zxc_opts.h:94
void * user_data
User context pointer passed to progress_cb.
Definition zxc_opts.h:95
const void * dict
Pre-trained dictionary content (NULL = none).
Definition zxc_opts.h:89
Platform-specific symbol visibility macros.
size_t zxc_decompress_opts_size(void)
Returns sizeof(zxc_decompress_opts_t) as compiled into the library.
Definition zxc_common.c:43
void(* zxc_progress_callback_t)(uint64_t bytes_processed, uint64_t bytes_total, const void *user_data)
Progress callback function type.
Definition zxc_opts.h:43
size_t zxc_compress_opts_size(void)
Returns sizeof(zxc_compress_opts_t) as compiled into the library.
Definition zxc_common.c:33