<!DOCTYPE html>
<html>
<!-- This is an automatically generated file.  Do not edit.
   zip_source_buffer_fragment.mdoc -- create zip data source from multiple buffers
   Copyright (C) 2004-2017 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.
   -->
<head>
  <meta charset="utf-8"/>
  <link rel="stylesheet" href="../nih-man.css" type="text/css" media="all"/>
  <title>ZIP_SOURCE_BUFFER_FRAGMENT(3)</title>
</head>
<body>
<table class="head">
  <tr>
    <td class="head-ltitle">ZIP_SOURCE_BUFFER_FRAGMENT(3)</td>
    <td class="head-vol">Library Functions Manual</td>
    <td class="head-rtitle">ZIP_SOURCE_BUFFER_FRAGMENT(3)</td>
  </tr>
</table>
<div class="manual-text">
<h1 class="Sh" title="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
<code class="Nm" title="Nm">zip_source_buffer_fragment</code>,
  <code class="Nm" title="Nm">zip_source_buffer_fragment_create</code> &#x2014;
<div class="Nd" title="Nd">create zip data source from multiple buffer</div>
<h1 class="Sh" title="Sh" id="LIBRARY"><a class="permalink" href="#LIBRARY">LIBRARY</a></h1>
libzip (-lzip)
<h1 class="Sh" title="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<code class="In" title="In">#include
  &lt;<a class="In" title="In">zip.h</a>&gt;</code>
<div class="Pp"></div>
<var class="Ft" title="Ft">zip_source_t *</var>
<br/>
<code class="Fn" title="Fn">zip_source_buffer_fragment</code>(<var class="Fa" title="Fa" style="white-space: nowrap;">zip_t
  *archive</var>,
  <var class="Fa" title="Fa" style="white-space: nowrap;">zip_buffer_fragment_t
  *fragments</var>,
  <var class="Fa" title="Fa" style="white-space: nowrap;">zip_uint64_t
  nfragments</var>, <var class="Fa" title="Fa" style="white-space: nowrap;">int
  freep</var>);
<div class="Pp"></div>
<var class="Ft" title="Ft">zip_source_t *</var>
<br/>
<code class="Fn" title="Fn">zip_source_buffer_fragment_create</code>(<var class="Fa" title="Fa" style="white-space: nowrap;">zip_buffer_fragment_t
  *fragments</var>,
  <var class="Fa" title="Fa" style="white-space: nowrap;">zip_uint64_t
  nfragments</var>, <var class="Fa" title="Fa" style="white-space: nowrap;">int
  freep</var>,
  <var class="Fa" title="Fa" style="white-space: nowrap;">zip_error_t
  *error</var>);
<h1 class="Sh" title="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
The functions <code class="Fn" title="Fn">zip_source_buffer_fragment</code>()
  and <code class="Fn" title="Fn">zip_source_buffer_fragment_create</code>()
  create a zip source from the data in
  <var class="Ar" title="Ar">fragments</var>.
  <var class="Ar" title="Ar">nfragments</var> specifies the number of fragments.
  If <var class="Ar" title="Ar">freep</var> is non-zero, the data will be freed
  when it is no longer needed.
<div class="Pp"></div>
<div class="Bd" style="margin-left: 0.00ex;">
<pre class="Li">
struct zip_stat { 
    zip_uint8_t *data;    /* pointer to the actual data */ 
    zip_uint64_t length;  /* length of this fragment */ 
};
</pre>
</div>
<div class="Pp"></div>
The data <var class="Ar" title="Ar">fragments</var> point to must remain valid
  for the lifetime of the created source.
  <var class="Ar" title="Ar">fragments</var> itself can be discarded once the
  source is created.
<div class="Pp"></div>
The source can be used to open a zip archive from.
<h1 class="Sh" title="Sh" id="RETURN_VALUES"><a class="permalink" href="#RETURN_VALUES">RETURN
  VALUES</a></h1>
Upon successful completion, the created source is returned. Otherwise,
  <code class="Dv" title="Dv">NULL</code> is returned and the error code in
  <var class="Ar" title="Ar">archive</var> or
  <var class="Ar" title="Ar">error</var> is set to indicate the error.
<h1 class="Sh" title="Sh" id="ERRORS"><a class="permalink" href="#ERRORS">ERRORS</a></h1>
<code class="Fn" title="Fn">zip_source_buffer</code>() and
  <code class="Fn" title="Fn">zip_source_buffer_create</code>() fail if:
<dl class="Bl-tag" style="margin-left: 23.40ex;">
  <dt style="margin-left: -23.40ex;">&#x00A0;</dt>
  <dd>&#x00A0;</dd>
  <dt style="margin-left: -23.40ex;">[<a class="permalink" href="#ZIP_ER_INVAL"><code class="Er" title="Er" id="ZIP_ER_INVAL">ZIP_ER_INVAL</code></a>]</dt>
  <dd><var class="Ar" title="Ar">nfragments</var> is greater than zero and
      <var class="Ar" title="Ar">fragments</var> is
      <code class="Dv" title="Dv">NULL</code>.</dd>
  <dt style="margin-left: -23.40ex;">&#x00A0;</dt>
  <dd>&#x00A0;</dd>
  <dt style="margin-left: -23.40ex;">[<a class="permalink" href="#ZIP_ER_MEMORY"><code class="Er" title="Er" id="ZIP_ER_MEMORY">ZIP_ER_MEMORY</code></a>]</dt>
  <dd>Required memory could not be allocated.</dd>
</dl>
<h1 class="Sh" title="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
  ALSO</a></h1>
<a class="Xr" title="Xr" href="libzip.html">libzip(3)</a>,
  <a class="Xr" title="Xr" href="zip_add.html">zip_add(3)</a>,
  <a class="Xr" title="Xr" href="zip_open_from_source.html">zip_open_from_source(3)</a>,
  <a class="Xr" title="Xr" href="zip_replace.html">zip_replace(3)</a>,
  <a class="Xr" title="Xr" href="zip_source.html">zip_source(3)</a>
<h1 class="Sh" title="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
<code class="Fn" title="Fn">zip_source_buffer_fragment</code>() and
  <code class="Fn" title="Fn">zip_source_buffer_fragment_create</code>() were
  added in libzip 1.4.0.
<h1 class="Sh" title="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
<span class="An" title="An">Dieter Baron</span>
  &lt;<a class="Mt" title="Mt" href="mailto:dillo@nih.at">dillo@nih.at</a>&gt;
  and <span class="An" title="An">Thomas Klausner</span>
  &lt;<a class="Mt" title="Mt" href="mailto:tk@giga.or.at">tk@giga.or.at</a>&gt;</div>
<table class="foot">
  <tr>
    <td class="foot-date">December 18, 2017</td>
    <td class="foot-os">NetBSD 8.99.16</td>
  </tr>
</table>
</body>
</html>
