<!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"/>
  <style>
    table.head, table.foot { width: 100%; }
    td.head-rtitle, td.foot-os { text-align: right; }
    td.head-vol { text-align: center; }
    div.Pp { margin: 1ex 0ex; }
  </style>
  <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="selflink" href="#NAME">NAME</a></h1>
<b class="Nm" title="Nm">zip_source_win32handle</b>,
  <b class="Nm" title="Nm">zip_source_win32handle_create</b> &#x2014;
  <span class="Nd" title="Nd">create data source from a Windows file
  handle</span>
<h1 class="Sh" title="Sh" id="LIBRARY"><a class="selflink" href="#LIBRARY">LIBRARY</a></h1>
libzip (-lzip)
<h1 class="Sh" title="Sh" id="SYNOPSIS"><a class="selflink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<b class="In" title="In">#include &lt;<a class="In" title="In">zip.h</a>&gt;</b>
<div class="Pp"></div>
<var class="Ft" title="Ft">zip_source_t *</var>
<br/>
<b class="Fn" title="Fn">zip_source_win32handle</b>(<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/>
<b class="Fn" title="Fn">zip_source_win32handle_create</b>(<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="selflink" href="#DESCRIPTION">DESCRIPTION</a></h1>
The functions <b class="Fn" title="Fn">zip_source_win32handle</b>() and
  <b class="Fn" title="Fn">zip_source_win32handle_create</b>() 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
  <b class="Fn" title="Fn">zip_close</b>() or
  <b class="Fn" title="Fn">zip_open_from_source</b>().
<h1 class="Sh" title="Sh" id="RETURN_VALUES"><a class="selflink" 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="selflink" href="#ERRORS">ERRORS</a></h1>
<b class="Fn" title="Fn">zip_source_w32handle</b>() and
  <b class="Fn" title="Fn">zip_source_w32handle_create</b>() fail if:
<dl class="Bl-tag" style="margin-left: 23.40ex;">
  <dt class="It-tag" style="margin-left: -23.40ex;">&#x00A0;</dt>
  <dd class="It-tag">&#x00A0;</dd>
  <dt class="It-tag" style="margin-left: -23.40ex;">[<a class="selflink" href="#ZIP_ER_INVAL"><code class="Er" title="Er" id="ZIP_ER_INVAL">ZIP_ER_INVAL</code></a>]</dt>
  <dd class="It-tag"><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 class="It-tag" style="margin-left: -23.40ex;">&#x00A0;</dt>
  <dd class="It-tag">&#x00A0;</dd>
  <dt class="It-tag" style="margin-left: -23.40ex;">[<a class="selflink" href="#ZIP_ER_MEMORY"><code class="Er" title="Er" id="ZIP_ER_MEMORY">ZIP_ER_MEMORY</code></a>]</dt>
  <dd class="It-tag">Required memory could not be allocated.</dd>
  <dt class="It-tag" style="margin-left: -23.40ex;">&#x00A0;</dt>
  <dd class="It-tag">&#x00A0;</dd>
  <dt class="It-tag" style="margin-left: -23.40ex;">[<a class="selflink" href="#ZIP_ER_OPEN"><code class="Er" title="Er" id="ZIP_ER_OPEN">ZIP_ER_OPEN</code></a>]</dt>
  <dd class="It-tag">Opening <var class="Ar" title="Ar">fname</var> failed.</dd>
</dl>
<h1 class="Sh" title="Sh" id="SEE_ALSO"><a class="selflink" 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="selflink" href="#HISTORY">HISTORY</a></h1>
<b class="Fn" title="Fn">zip_source_win32handle</b>() and
  <b class="Fn" title="Fn">zip_source_win32handle_create</b>() were added in
  libzip 1.0.
<h1 class="Sh" title="Sh" id="AUTHORS"><a class="selflink" 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.14</td>
  </tr>
</table>
</body>
</html>
