www.LinuxHowtos.org
ZIP_SET_FILE_COMPRESSION
Section: C Library Functions (3)Index Return to Main Contents
BSD mandoc
NAME
zip_set_file_compression - set compression method for file in zipLIBRARY
libzip -lzip)SYNOPSIS
In zip.h Ft int Fn zip_set_file_compression zip_t *archive zip_uint64_t index zip_int32_t comp zip_uint32_t comp_flagsDESCRIPTION
The Fn zip_set_file_compression function sets the compression method for the file at position index in the zip archive to comp with the compression method specific comp_flags The comp is the same as returned by zip_stat3. For the comp argument, currently only the following values are supported:- ZIP_CM_DEFAULT
- default compression; currently the same as ZIP_CM_DEFLATE but flags are ignored.
- ZIP_CM_STORE
- Store the file uncompressed.
- ZIP_CM_BZIP2
- Compress the file using the bzip2(1) algorithm.
- ZIP_CM_DEFLATE
- Deflate the file with the zlib(3) algorithm and default options.
- ZIP_CM_XZ
- Use the xz(1) algorithm for compression
- ZIP_CM_ZSTD
- Use the zstd(1) algorithm for compression
NOTE Only the deflate and store methods can be assumed to be universally supported.
The comp_flags argument defines the compression level. This value is dependent on the compression algorithm. In general, lower numbers mean faster de/compression and higher numbers mean slower de/compression. For ZIP_CM_BZIP ZIP_CM_DEFLATE and ZIP_CM_XZ 1 is the fastest compression and 9 the best, 0 chooses the default. For ZIP_CM_ZSTD possible values are ZSTD_minCLevel3 to ZSTD_maxCLevel3;negativevaluesmustbecastto Ft zip_uint32_t .
Further compression method specific flags might be added over time.
The current compression method for a file in a zip archive can be determined using zip_stat3.
RETURN VALUES
Upon successful completion 0 is returned. Otherwise, -1 is returned and the error information in archive is set to indicate the error.ERRORS
Fn zip_set_file_compression fails if:- Bq Er ZIP_ER_COMPNOTSUPP
- Unsupported compression method requested.
- Bq Er ZIP_ER_INVAL
- index is not a valid file index in archive or the argument combination is invalid.
- Bq Er ZIP_ER_RDONLY
- Rea-only zip file, no changes allowed.
SEE ALSO
libzip(3), zip_compression_method_supported3, zip_stat3HISTORY
Fn zip_set_file_compression was added in libzip 0.11.AUTHORS
An -nosplit An Dieter Baron Aq Mt dillo@nih.at and An Thomas Klausner Aq Mt wiz@gatalith.at