blob: f9f2326fd8d84656fc02c9f91de55063b99a27d3 [file] [log] [blame]
Thomas Klausner896cd8c2011-03-17 23:39:56 +01001.\" zip_set_file_compression.mdoc -- set compression method and its flags
Thomas Klausner504e2c22012-01-17 12:34:33 +01002.\" Copyright (C) 2012 Dieter Baron and Thomas Klausner
Thomas Klausnerb2934372011-03-17 23:29:12 +01003.\"
4.\" This file is part of libzip, a library to manipulate ZIP files.
5.\" The authors can be contacted at <libzip@nih.at>
6.\"
7.\" Redistribution and use in source and binary forms, with or without
8.\" modification, are permitted provided that the following conditions
9.\" are met:
10.\" 1. Redistributions of source code must retain the above copyright
11.\" notice, this list of conditions and the following disclaimer.
12.\" 2. Redistributions in binary form must reproduce the above copyright
13.\" notice, this list of conditions and the following disclaimer in
14.\" the documentation and/or other materials provided with the
15.\" distribution.
16.\" 3. The names of the authors may not be used to endorse or promote
17.\" products derived from this software without specific prior
18.\" written permission.
19.\"
20.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
21.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
22.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
24.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
26.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
28.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
30.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31.\"
Thomas Klausner9bbb9e82012-05-01 22:20:09 +020032.Dd May 1, 2012
Thomas Klausner896cd8c2011-03-17 23:39:56 +010033.Dt ZIP_SET_FILE_COMPRESSION 3
Thomas Klausnerb2934372011-03-17 23:29:12 +010034.Os
35.Sh NAME
Thomas Klausner896cd8c2011-03-17 23:39:56 +010036.Nm zip_set_file_compression
Thomas Klausner504e2c22012-01-17 12:34:33 +010037.Nd set compression method for file in zip
Thomas Klausnerb2934372011-03-17 23:29:12 +010038.Sh LIBRARY
39libzip (-lzip)
40.Sh SYNOPSIS
41.In zip.h
42.Ft int
Dieter Baron1d9dfeb2014-09-28 23:02:54 +020043.Fn zip_set_file_compression "zip_t *archive" "zip_uint64_t index" \
Dieter Baron538e3982012-02-27 11:07:40 +010044"zip_int32_t comp" "zip_uint32_t comp_flags"
Thomas Klausnerb2934372011-03-17 23:29:12 +010045.Sh DESCRIPTION
46The
Thomas Klausner896cd8c2011-03-17 23:39:56 +010047.Fn zip_set_file_compression
Thomas Klausnerb2934372011-03-17 23:29:12 +010048function sets the compression method for the file at position
49.Ar index
50in the zip archive to
Thomas Klausner896cd8c2011-03-17 23:39:56 +010051.Ar comp
Thomas Klausnerb2934372011-03-17 23:29:12 +010052with the compression method specific
Thomas Klausner9bbb9e82012-05-01 22:20:09 +020053.Ar comp_flags .
Thomas Klausner852cb3d2011-03-17 23:34:57 +010054The
Thomas Klausner896cd8c2011-03-17 23:39:56 +010055.Ar comp
Thomas Klausner852cb3d2011-03-17 23:34:57 +010056is the same as returned by
Thomas Klausnerb2934372011-03-17 23:29:12 +010057.Xr zip_stat 3 .
Thomas Klausner852cb3d2011-03-17 23:34:57 +010058For the
Thomas Klausner896cd8c2011-03-17 23:39:56 +010059.Ar comp
Thomas Klausner504e2c22012-01-17 12:34:33 +010060argument, currently only the following values are supported:
61.Bl -tag -width ZIP_CM_DEFLATE_XX
62.It Dv ZIP_CM_DEFAULT
63default compression; currently the same as
64.Dv ZIP_CM_DEFLATE .
65.It Dv ZIP_CM_STORE
66Store the file uncompressed.
67.It Dv ZIP_CM_DEFLATE
68Deflate the file with the
69.Xr zlib 3
70algorithm and default options
71.El
Thomas Klausner852cb3d2011-03-17 23:34:57 +010072.Pp
Thomas Klausner9bbb9e82012-05-01 22:20:09 +020073The
74.Ar comp_flags
75argument is currently ignored.
76.\" For the comp_flags argument, the lower 4 bits define the compression
Thomas Klausner504e2c22012-01-17 12:34:33 +010077.\" level.
78.\" 0 is fastest compression, 15 is highest compression
79.\" .Dv ZIP_COMP_FL_DEFAULT
80.\" can be used to specify that the default shall be used.
81.\" Further compression method specific flags will be added over time.
82.Pp
83The current compression method for a file in a zip archive can be
84determined using
85.Xr zip_stat 3 .
Thomas Klausnerb2934372011-03-17 23:29:12 +010086.Sh RETURN VALUES
87Upon successful completion 0 is returned.
88Otherwise, \-1 is returned and the error information in
89.Ar archive
90is set to indicate the error.
91.Sh ERRORS
Thomas Klausner896cd8c2011-03-17 23:39:56 +010092.Fn zip_set_file_compression
Thomas Klausnerb2934372011-03-17 23:29:12 +010093fails if:
94.Bl -tag -width Er
95.It Bq Er ZIP_ER_INVAL
96.Ar index
97is not a valid file index in
98.Ar archive ,
99or the argument combination is invalid.
Thomas Klausner504e2c22012-01-17 12:34:33 +0100100.It Bq Er ZIP_ER_COMPNOTSUPP
101Unsupported compression method requested.
102.It Bq Er ZIP_ER_RDONLY
103Read-only zip file, no changes allowed.
Thomas Klausnerb2934372011-03-17 23:29:12 +0100104.El
105.Sh SEE ALSO
106.Xr libzip 3 ,
107.Xr zip_stat 3
108.Sh AUTHORS
109.An -nosplit
Thomas Klausner0acbab42013-07-28 23:29:08 +0200110.An Dieter Baron Aq Mt dillo@nih.at
Thomas Klausnerb2934372011-03-17 23:29:12 +0100111and
Thomas Klausner0acbab42013-07-28 23:29:08 +0200112.An Thomas Klausner Aq Mt tk@giga.or.at