|  | .\" zip_source_zip.mdoc -- create data source from zip file | 
|  | .\" Copyright (C) 2004-2014 Dieter Baron and Thomas Klausner | 
|  | .\" | 
|  | .\" This file is part of libzip, a library to manipulate ZIP archives. | 
|  | .\" 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 August 2, 2014 | 
|  | .Dt ZIP_SOURCE_ZIP 3 | 
|  | .Os | 
|  | .Sh NAME | 
|  | .Nm zip_source_zip | 
|  | .Nd create data source from zip file | 
|  | .Sh LIBRARY | 
|  | libzip (-lzip) | 
|  | .Sh SYNOPSIS | 
|  | .In zip.h | 
|  | .Ft zip_source_t * | 
|  | .Fn zip_source_zip "zip_t *archive" "zip_t *srcarchive" \ | 
|  | "zip_uint64_t srcidx" "zip_flags_t flags" "zip_uint64_t start" "zip_int64_t len" | 
|  | .Sh DESCRIPTION | 
|  | The function | 
|  | .Fn zip_source_zip | 
|  | creates a zip source from a file in a zip archive. | 
|  | The | 
|  | .Ar srcarchive | 
|  | argument is the (open) zip archive containing the source zip file | 
|  | at index | 
|  | .Ar srcidx . | 
|  | .Ar len | 
|  | bytes from offset | 
|  | .Ar start | 
|  | will be used in the zip_source. | 
|  | If | 
|  | .Ar len | 
|  | is 0 or \-1, the rest of the file, starting from | 
|  | .Ar start , | 
|  | is used. | 
|  | If | 
|  | .Ar start | 
|  | is zero and | 
|  | .Ar len | 
|  | is \-1, the whole file will be copied without decompressing it. | 
|  | .Pp | 
|  | Supported flags are: | 
|  | .Bl -tag -width XZIPXFLXRECOMPRESSXXX | 
|  | .It Dv ZIP_FL_UNCHANGED | 
|  | Try to get the original data without any changes that may have been | 
|  | made to | 
|  | .Ar srcarchive | 
|  | after opening it. | 
|  | .It Dv ZIP_FL_RECOMPRESS | 
|  | When adding the data from | 
|  | .Ar srcarchive , | 
|  | re-compress it using the current settings instead of copying the | 
|  | compressed data. | 
|  | .El | 
|  | .Sh RETURN VALUES | 
|  | Upon successful completion, the created source is returned. | 
|  | Otherwise, | 
|  | .Dv NULL | 
|  | is returned and the error code in | 
|  | .Ar archive | 
|  | is set to indicate the error. | 
|  | .Sh ERRORS | 
|  | .Fn zip_source_zip | 
|  | fails if: | 
|  | .Bl -tag -width Er | 
|  | .It Bq Er ZIP_ER_CHANGED | 
|  | Unchanged data was requested, but it is not available. | 
|  | .It Bq Er ZIP_ER_INVAL | 
|  | .Ar srcarchive , | 
|  | .Ar srcidx , | 
|  | .Ar start , | 
|  | or | 
|  | .Ar len | 
|  | are invalid. | 
|  | .It Bq Er ZIP_ER_MEMORY | 
|  | Required memory could not be allocated. | 
|  | .El | 
|  | Additionally, it can return all error codes from | 
|  | .Fn zip_stat_index | 
|  | and | 
|  | .Fn zip_fopen_index . | 
|  | .Sh SEE ALSO | 
|  | .Xr libzip 3 , | 
|  | .Xr zip_add 3 , | 
|  | .Xr zip_replace 3 , | 
|  | .Xr zip_source 3 | 
|  | .Sh AUTHORS | 
|  | .An -nosplit | 
|  | .An Dieter Baron Aq Mt dillo@nih.at | 
|  | and | 
|  | .An Thomas Klausner Aq Mt tk@giga.or.at |