<!DOCTYPE html>
<html>
<!-- This is an automatically generated file.  Do not edit.
   zip_source_handle.mdoc -- create data source from a Windows file handle
   Copyright (C) 2015-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_WIN32HANDLE(3)</title>
</head>
<body>
<table class="head">
  <tr>
    <td class="head-ltitle">ZIP_SOURCE_WIN32HANDLE(3)</td>
    <td class="head-vol">Library Functions Manual</td>
    <td class="head-rtitle">ZIP_SOURCE_WIN32HANDLE(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_win32handle</code>,
  <code class="Nm" title="Nm">zip_source_win32handle_create</code> &#x2014;
<div class="Nd" title="Nd">create data source from a Windows file handle</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_win32handle</code>(<var class="Fa" title="Fa" style="white-space: nowrap;">zip_t
  *archive</var>, <var class="Fa" title="Fa" style="white-space: nowrap;">HANDLE
  h</var>, <var class="Fa" title="Fa" style="white-space: nowrap;">zip_uint64_t
  start</var>,
  <var class="Fa" title="Fa" style="white-space: nowrap;">zip_int64_t
  len</var>);
<div class="Pp"></div>
<var class="Ft" title="Ft">zip_source_t *</var>
<br/>
<code class="Fn" title="Fn">zip_source_win32handle_create</code>(<var class="Fa" title="Fa" style="white-space: nowrap;">HANDLE
  h</var>, <var class="Fa" title="Fa" style="white-space: nowrap;">zip_uint64_t
  start</var>,
  <var class="Fa" title="Fa" style="white-space: nowrap;">zip_int64_t len</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_win32handle</code>() and
  <code class="Fn" title="Fn">zip_source_win32handle_create</code>() create a
  zip source from a Windows file handle. They open
  <var class="Ar" title="Ar">fname</var> and read
  <var class="Ar" title="Ar">len</var> bytes from offset
  <var class="Ar" title="Ar">start</var> from it. If
  <var class="Ar" title="Ar">len</var> is 0 or -1, the whole file (starting from
  <var class="Ar" title="Ar">start</var>) is used.
<div class="Pp"></div>
If the file supports seek, the source can be used to open a zip archive from.
<div class="Pp"></div>
The file is opened and read when the data from the source is used, usually by
  <code class="Fn" title="Fn">zip_close</code>() or
  <code class="Fn" title="Fn">zip_open_from_source</code>().
<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_w32handle</code>() and
  <code class="Fn" title="Fn">zip_source_w32handle_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">fname</var>,
      <var class="Ar" title="Ar">start</var>, or
      <var class="Ar" title="Ar">len</var> are invalid.</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>
  <dt style="margin-left: -23.40ex;">&#x00A0;</dt>
  <dd>&#x00A0;</dd>
  <dt style="margin-left: -23.40ex;">[<a class="permalink" href="#ZIP_ER_OPEN"><code class="Er" title="Er" id="ZIP_ER_OPEN">ZIP_ER_OPEN</code></a>]</dt>
  <dd>Opening <var class="Ar" title="Ar">fname</var> failed.</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_replace.html">zip_replace(3)</a>,
  <a class="Xr" title="Xr" href="zip_source.html">zip_source(3)</a>,
  <a class="Xr" title="Xr" href="zip_source_win32a.html">zip_source_win32a(3)</a>,
  <a class="Xr" title="Xr" href="zip_source_win32w.html">zip_source_win32w(3)</a>
<h1 class="Sh" title="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
<code class="Fn" title="Fn">zip_source_win32handle</code>() and
  <code class="Fn" title="Fn">zip_source_win32handle_create</code>() were added
  in libzip 1.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>
