.\" zip_set_file_compression.mdoc -- set compression method and its flags
.\" Copyright (C) 2012 Dieter Baron and Thomas Klausner
.\"
.\" This file is part of libzip, a library to manipulate ZIP files.
.\" The authors can be contacted at <libzip@nih.at>
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in
.\"    the documentation and/or other materials provided with the
.\"    distribution.
.\" 3. The names of the authors may not be used to endorse or promote
.\"    products derived from this software without specific prior
.\"    written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd May 1, 2012
.Dt ZIP_SET_FILE_COMPRESSION 3
.Os
.Sh NAME
.Nm zip_set_file_compression
.Nd set compression method for file in zip
.Sh LIBRARY
libzip (-lzip)
.Sh SYNOPSIS
.In zip.h
.Ft int
.Fn zip_set_file_compression "struct zip *archive" "zip_uint64_t index" \
"zip_int32_t comp" "zip_uint32_t comp_flags"
.Sh DESCRIPTION
The
.Fn zip_set_file_compression
function sets the compression method for the file at position
.Ar index
in the zip archive to
.Ar comp
with the compression method specific
.Ar comp_flags .
The
.Ar comp
is the same as returned by
.Xr zip_stat 3 .
For the
.Ar comp
argument, currently only the following values are supported:
.Bl -tag -width ZIP_CM_DEFLATE_XX
.It Dv ZIP_CM_DEFAULT
default compression; currently the same as
.Dv ZIP_CM_DEFLATE .
.It Dv ZIP_CM_STORE
Store the file uncompressed.
.It Dv ZIP_CM_DEFLATE
Deflate the file with the
.Xr zlib 3
algorithm and default options
.El
.Pp
The
.Ar comp_flags
argument is currently ignored.
.\" For the comp_flags argument, the lower 4 bits define the compression
.\" level.
.\" 0 is fastest compression, 15 is highest compression
.\" .Dv ZIP_COMP_FL_DEFAULT
.\" can be used to specify that the default shall be used.
.\" Further compression method specific flags will be added over time.
.Pp
The current compression method for a file in a zip archive can be
determined using
.Xr zip_stat 3 .
.Sh RETURN VALUES
Upon successful completion 0 is returned.
Otherwise, \-1 is returned and the error information in
.Ar archive
is set to indicate the error.
.Sh ERRORS
.Fn zip_set_file_compression
fails if:
.Bl -tag -width Er
.It Bq Er ZIP_ER_INVAL
.Ar index
is not a valid file index in
.Ar archive ,
or the argument combination is invalid.
.It Bq Er ZIP_ER_COMPNOTSUPP
Unsupported compression method requested.
.It Bq Er ZIP_ER_RDONLY
Read-only zip file, no changes allowed.
.El
.Sh SEE ALSO
.Xr libzip 3 ,
.Xr zip_stat 3
.Sh AUTHORS
.An -nosplit
.An Dieter Baron Aq dillo@nih.at
and
.An Thomas Klausner Aq tk@giga.or.at
