<!DOCTYPE html>
<html>
<!-- This is an automatically generated file.  Do not edit.
   zip_fopen_encrypted.mdoc -- open encrypted file in zip archive for reading
   Copyright (C) 2011-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_FOPEN_ENCRYPTED(3)</title>
</head>
<body>
<table class="head">
  <tr>
    <td class="head-ltitle">ZIP_FOPEN_ENCRYPTED(3)</td>
    <td class="head-vol">Library Functions Manual</td>
    <td class="head-rtitle">ZIP_FOPEN_ENCRYPTED(3)</td>
  </tr>
</table>
<div class="manual-text">
<section class="Sh">
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
<code class="Nm">zip_fopen_encrypted</code>,
  <code class="Nm">zip_fopen_index_encrypted</code> &#x2014;
<div class="Nd">open encrypted file in zip archive for reading</div>
</section>
<section class="Sh">
<h1 class="Sh" id="LIBRARY"><a class="permalink" href="#LIBRARY">LIBRARY</a></h1>
libzip (-lzip)
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<code class="In">#include &lt;<a class="In">zip.h</a>&gt;</code>
<p class="Pp"><var class="Ft">zip_file_t *</var>
  <br/>
  <code class="Fn">zip_fopen_encrypted</code>(<var class="Fa" style="white-space: nowrap;">zip_t
    *archive</var>, <var class="Fa" style="white-space: nowrap;">const char
    *fname</var>, <var class="Fa" style="white-space: nowrap;">zip_flags_t
    flags</var>, <var class="Fa" style="white-space: nowrap;">const char
    *password</var>);</p>
<p class="Pp"><var class="Ft">zip_file_t *</var>
  <br/>
  <code class="Fn">zip_fopen_index_encrypted</code>(<var class="Fa" style="white-space: nowrap;">zip_t
    *archive</var>, <var class="Fa" style="white-space: nowrap;">zip_uint64_t
    index</var>, <var class="Fa" style="white-space: nowrap;">zip_flags_t
    flags</var>, <var class="Fa" style="white-space: nowrap;">const char
    *password</var>);</p>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
The <code class="Fn">zip_fopen_encrypted</code>() function opens the encrypted
  file name <var class="Ar">fname</var> in <var class="Ar">archive</var> using
  the password given in the <var class="Ar">password</var> argument. The
  <var class="Ar">flags</var> argument are the same as for
  <a class="Xr" href="zip_fopen.html">zip_fopen(3)</a>.
<p class="Pp">The <code class="Fn">zip_fopen_index_encrypted</code>() function
    opens the file at position <var class="Ar">index</var>, see
    <a class="Xr" href="zip_fopen_index.html">zip_fopen_index(3)</a>. These
    functions are called automatically by
    <a class="Xr" href="zip_fopen.html">zip_fopen(3)</a>; you only need to call
    them if you want to specify a non-default password (see
    <a class="Xr" href="zip_set_default_password.html">zip_set_default_password(3)</a>).</p>
</section>
<section class="Sh">
<h1 class="Sh" id="RETURN_VALUES"><a class="permalink" href="#RETURN_VALUES">RETURN
  VALUES</a></h1>
Upon successful completion, a <var class="Ft">struct zip_file</var> pointer is
  returned. Otherwise, <code class="Dv">NULL</code> is returned and the error
  code in <var class="Ar">archive</var> is set to indicate the error.
</section>
<section class="Sh">
<h1 class="Sh" id="ERRORS"><a class="permalink" href="#ERRORS">ERRORS</a></h1>
<dl class="Bl-tag">
  <dt>[<a class="permalink" href="#ZIP_ER_NOPASSWD"><code class="Er" id="ZIP_ER_NOPASSWD">ZIP_ER_NOPASSWD</code></a>]</dt>
  <dd>No password was provided.</dd>
</dl>
<p class="Pp">The function <code class="Fn">zip_fopen_encrypted</code>() may
    also fail and set <var class="Va">zip_err</var> for any of the errors
    specified for the routine
    <a class="Xr" href="zip_fopen.html">zip_fopen(3)</a>.</p>
<p class="Pp">The function <code class="Fn">zip_fopen_index_encrypted</code>()
    may also fail and set <var class="Va">zip_err</var> for any of the errors
    specified for the routine
    <a class="Xr" href="zip_fopen_index.html">zip_fopen_index(3)</a>.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
  ALSO</a></h1>
<a class="Xr" href="libzip.html">libzip(3)</a>,
  <a class="Xr" href="zip_fclose.html">zip_fclose(3)</a>,
  <a class="Xr" href="zip_fopen.html">zip_fopen(3)</a>,
  <a class="Xr" href="zip_fread.html">zip_fread(3)</a>,
  <a class="Xr" href="zip_get_num_entries.html">zip_get_num_entries(3)</a>,
  <a class="Xr" href="zip_name_locate.html">zip_name_locate(3)</a>
</section>
<section class="Sh">
<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
<code class="Fn">zip_fopen_encrypted</code>() and
  <code class="Fn">zip_fopen_index_encrypted</code>() were added in libzip 1.0.
</section>
<section class="Sh">
<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
<span class="An">Dieter Baron</span>
  &lt;<a class="Mt" href="mailto:dillo@nih.at">dillo@nih.at</a>&gt; and
  <span class="An">Thomas Klausner</span>
  &lt;<a class="Mt" href="mailto:tk@giga.or.at">tk@giga.or.at</a>&gt;
</section>
</div>
<table class="foot">
  <tr>
    <td class="foot-date">December 18, 2017</td>
    <td class="foot-os">NiH</td>
  </tr>
</table>
</body>
</html>
