<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="../nih-man.css" type="text/css" media="all"/>
<title>ZIP_SOURCE_ZIP(3)</title>
</head>
<body>
<table class="head">
<tr>
<td class="head-ltitle">ZIP_SOURCE_ZIP(3)</td>
<td class="head-vol">Library Functions Manual</td>
<td class="head-rtitle">ZIP_SOURCE_ZIP(3)</td>
</tr>
</table>
<div class="manual-text">
<section class="Sh">
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
<p class="Pp"><code class="Nm">zip_source_zip</code>,
<code class="Nm">zip_source_zip_create</code> —
<span class="Nd">create data source from zip file (obsolete
interface)</span></p>
</section>
<section class="Sh">
<h1 class="Sh" id="LIBRARY"><a class="permalink" href="#LIBRARY">LIBRARY</a></h1>
<p class="Pp">libzip (-lzip)</p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<p class="Pp"><code class="In">#include
<<a class="In">zip.h</a>></code></p>
<p class="Pp"><var class="Ft">zip_source_t *</var>
<br/>
<code class="Fn">zip_source_zip</code>(<var class="Fa" style="white-space: nowrap;">zip_t
*archive</var>, <var class="Fa" style="white-space: nowrap;">zip_t
*srcarchive</var>, <var class="Fa" style="white-space: nowrap;">zip_uint64_t
srcidx</var>, <var class="Fa" style="white-space: nowrap;">zip_flags_t
flags</var>, <var class="Fa" style="white-space: nowrap;">zip_uint64_t
start</var>, <var class="Fa" style="white-space: nowrap;">zip_int64_t
len</var>);</p>
<p class="Pp"><var class="Ft">zip_source_t *</var>
<br/>
<code class="Fn">zip_source_zip_create</code>(<var class="Fa" style="white-space: nowrap;">zip_t
*srcarchive</var>, <var class="Fa" style="white-space: nowrap;">zip_uint64_t
srcidx</var>, <var class="Fa" style="white-space: nowrap;">zip_flags_t
flags</var>, <var class="Fa" style="white-space: nowrap;">zip_uint64_t
start</var>, <var class="Fa" style="white-space: nowrap;">zip_int64_t
len</var>, <var class="Fa" style="white-space: nowrap;">zip_error_t
*error</var>);</p>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<p class="Pp">The functions
<a class="permalink" href="#zip_source_zip"><code class="Fn" id="zip_source_zip">zip_source_zip</code></a>()
and
<a class="permalink" href="#zip_source_zip_create"><code class="Fn" id="zip_source_zip_create">zip_source_zip_create</code></a>()
are the obsolete versions of
<a class="Xr" href="zip_source_zip_file.html">zip_source_zip_file(3)</a> or
<a class="Xr" href="zip_source_zip_file_create.html">zip_source_zip_file_create(3)</a>
respectively. If you want to get the compressed data of the complete file,
use</p>
<div class="Bd Bd-indent"><code class="Li">zip_source_zip_file(za,
source_archive, source_index, ZIP_FL_COMPRESSED, 0, -1, NULL)</code></div>
<p class="Pp" id="zip_source_zip~2">The functions
<a class="permalink" href="#zip_source_zip~2"><code class="Fn">zip_source_zip</code></a>()
and
<a class="permalink" href="#zip_source_zip_create~2"><code class="Fn" id="zip_source_zip_create~2">zip_source_zip_create</code></a>()
create a zip source from a file in a zip archive. The
<var class="Ar">srcarchive</var> argument is the (open) zip archive
containing the source zip file at index <var class="Ar">srcidx</var>.
<var class="Ar">len</var> bytes from offset <var class="Ar">start</var> will
be used in the zip_source. If <var class="Ar">len</var> is 0 or -1, the rest
of the file, starting from <var class="Ar">start</var>, is used. If
<var class="Ar">start</var> is zero and <var class="Ar">len</var> is -1, the
whole file will be copied without decompressing it.</p>
<p class="Pp">Supported flags are:</p>
<dl class="Bl-tag">
<dt id="ZIP_FL_UNCHANGED"><a class="permalink" href="#ZIP_FL_UNCHANGED"><code class="Dv">ZIP_FL_UNCHANGED</code></a></dt>
<dd>Try to get the original data without any changes that may have been made
to <var class="Ar">srcarchive</var> after opening it.</dd>
</dl>
</section>
<section class="Sh">
<h1 class="Sh" id="RETURN_VALUES"><a class="permalink" href="#RETURN_VALUES">RETURN
VALUES</a></h1>
<p class="Pp">Upon successful completion, the created source is returned.
Otherwise, <code class="Dv">NULL</code> is returned and the error code in
<var class="Ar">archive</var> or <var class="Ar">error</var> is set to
indicate the error.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="ERRORS"><a class="permalink" href="#ERRORS">ERRORS</a></h1>
<p class="Pp"><code class="Fn">zip_source_zip</code>() and
<code class="Fn">zip_source_zip_create</code>() fail if:</p>
<dl class="Bl-tag">
<dt id="ZIP_ER_CHANGED">[<a class="permalink" href="#ZIP_ER_CHANGED"><code class="Er">ZIP_ER_CHANGED</code></a>]</dt>
<dd>Unchanged data was requested, but it is not available.</dd>
<dt id="ZIP_ER_INVAL">[<a class="permalink" href="#ZIP_ER_INVAL"><code class="Er">ZIP_ER_INVAL</code></a>]</dt>
<dd><var class="Ar">srcarchive</var>, <var class="Ar">srcidx</var>,
<var class="Ar">start</var>, or <var class="Ar">len</var> are
invalid.</dd>
<dt id="ZIP_ER_MEMORY">[<a class="permalink" href="#ZIP_ER_MEMORY"><code class="Er">ZIP_ER_MEMORY</code></a>]</dt>
<dd>Required memory could not be allocated.</dd>
</dl>
Additionally, it can return all error codes from
<code class="Fn">zip_stat_index</code>() and
<code class="Fn">zip_fopen_index</code>().
</section>
<section class="Sh">
<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
ALSO</a></h1>
<p class="Pp"><a class="Xr" href="libzip.html">libzip(3)</a>,
<a class="Xr" href="zip_file_add.html">zip_file_add(3)</a>,
<a class="Xr" href="zip_file_replace.html">zip_file_replace(3)</a>,
<a class="Xr" href="zip_source.html">zip_source(5)</a></p>
</section>
<section class="Sh">
<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
<p class="Pp"><code class="Fn">zip_source_zip</code>() was added in libzip 1.0.
<code class="Fn">zip_source_zip_create</code>() was added in libzip 1.8.0.
Both were deprecated in libzip 1.10.0. Use
<code class="Fn">zip_source_zip_file</code>() or
<code class="Fn">zip_source_zip_file_create</code>() instead.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
<p class="Pp"><span class="An">Dieter Baron</span>
<<a class="Mt" href="mailto:dillo@nih.at">dillo@nih.at</a>> and
<span class="An">Thomas Klausner</span>
<<a class="Mt" href="mailto:wiz@gatalith.at">wiz@gatalith.at</a>></p>
</section>
</div>
<table class="foot">
<tr>
<td class="foot-date">January 23, 2023</td>
<td class="foot-os">NiH</td>
</tr>
</table>
</body>
</html>