<!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">
<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">
  <dt>&#x00A0;</dt>
  <dd>&#x00A0;</dd>
  <dt>[<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>&#x00A0;</dt>
  <dd>&#x00A0;</dd>
  <dt>[<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_file_add.html">zip_file_add(3)</a>,
  <a class="Xr" title="Xr" href="zip_file_replace.html">zip_file_replace(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_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.27</td>
  </tr>
</table>
</body>
</html>
