<!DOCTYPE html>
<html>
<!-- This is an automatically generated file.  Do not edit.
   zip_stat.mdoc -- get information about file
   Copyright (C) 2003-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_STAT(3)</title>
</head>
<body>
<table class="head">
  <tr>
    <td class="head-ltitle">ZIP_STAT(3)</td>
    <td class="head-vol">Library Functions Manual</td>
    <td class="head-rtitle">ZIP_STAT(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_stat</code>,
  <code class="Nm" title="Nm">zip_stat_index</code> &#x2014;
<div class="Nd" title="Nd">get information about file</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">int</var>
<br/>
<code class="Fn" title="Fn">zip_stat</code>(<var class="Fa" title="Fa" style="white-space: nowrap;">zip_t
  *archive</var>, <var class="Fa" title="Fa" style="white-space: nowrap;">const
  char *fname</var>,
  <var class="Fa" title="Fa" style="white-space: nowrap;">zip_flags_t
  flags</var>,
  <var class="Fa" title="Fa" style="white-space: nowrap;">zip_stat_t *sb</var>);
<div class="Pp"></div>
<var class="Ft" title="Ft">int</var>
<br/>
<code class="Fn" title="Fn">zip_stat_index</code>(<var class="Fa" title="Fa" style="white-space: nowrap;">zip_t
  *archive</var>,
  <var class="Fa" title="Fa" style="white-space: nowrap;">zip_uint64_t
  index</var>,
  <var class="Fa" title="Fa" style="white-space: nowrap;">zip_flags_t
  flags</var>,
  <var class="Fa" title="Fa" style="white-space: nowrap;">zip_stat_t *sb</var>);
<h1 class="Sh" title="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
The <code class="Fn" title="Fn">zip_stat</code>() function obtains information
  about the file named <var class="Ar" title="Ar">fname</var> in
  <var class="Ar" title="Ar">archive</var>. The
  <var class="Ar" title="Ar">flags</var> argument specifies how the name lookup
  should be done. Its values are described in
  <a class="Xr" title="Xr" href="zip_name_locate.html">zip_name_locate(3)</a>.
  Also, <code class="Dv" title="Dv">ZIP_FL_UNCHANGED</code> may be
  <i class="Em" title="Em">or</i><span class="No">'ed</span> to it to request
  information about the original file in the archive, ignoring any changes made.
<div class="Pp"></div>
The <code class="Fn" title="Fn">zip_stat_index</code>() function obtains
  information about the file at position <var class="Ar" title="Ar">index</var>.
<div class="Pp"></div>
The <var class="Ar" title="Ar">sb</var> argument is a pointer to a
  <var class="Ft" title="Ft">struct zip_stat</var> (shown below), into which
  information about the file is placed.
<div class="Pp"></div>
<div class="Bd" style="margin-left: 0.00ex;">
<pre class="Li">
struct zip_stat { 
    zip_uint64_t valid;                 /* which fields have valid values */ 
    const char *name;                   /* name of the file */ 
    zip_uint64_t index;                 /* index within archive */ 
    zip_uint64_t size;                  /* size of file (uncompressed) */ 
    zip_uint64_t comp_size;             /* size of file (compressed) */ 
    time_t mtime;                       /* modification time */ 
    zip_uint32_t crc;                   /* crc of file data */ 
    zip_uint16_t comp_method;           /* compression method used */ 
    zip_uint16_t encryption_method;     /* encryption method used */ 
    zip_uint32_t flags;                 /* reserved for future use */ 
};
</pre>
</div>
The structure pointed to by <var class="Ar" title="Ar">sb</var> must be
  allocated before calling <code class="Fn" title="Fn">zip_stat</code>() or
  <code class="Fn" title="Fn">zip_stat_index</code>().
<div class="Pp"></div>
The <var class="Ar" title="Ar">valid</var> field of the structure specifies
  which other fields are valid. Check if the flag defined by the following
  defines are in <var class="Ar" title="Ar">valid</var> before accessing the
  fields:
<div class="Bl-tag" style="margin-left: 6.00ex;">
<dl class="Bl-tag Bl-compact" style="margin-left: 36.60ex;">
  <dt style="margin-left: -36.60ex;"><a class="permalink" href="#ZIP_STAT_NAME"><code class="Dv" title="Dv" id="ZIP_STAT_NAME">ZIP_STAT_NAME</code></a></dt>
  <dd><var class="Ar" title="Ar">name</var></dd>
  <dt style="margin-left: -36.60ex;"><a class="permalink" href="#ZIP_STAT_INDEX"><code class="Dv" title="Dv" id="ZIP_STAT_INDEX">ZIP_STAT_INDEX</code></a></dt>
  <dd><var class="Ar" title="Ar">index</var></dd>
  <dt style="margin-left: -36.60ex;"><a class="permalink" href="#ZIP_STAT_SIZE"><code class="Dv" title="Dv" id="ZIP_STAT_SIZE">ZIP_STAT_SIZE</code></a></dt>
  <dd><var class="Ar" title="Ar">size</var></dd>
  <dt style="margin-left: -36.60ex;"><a class="permalink" href="#ZIP_STAT_COMP_SIZE"><code class="Dv" title="Dv" id="ZIP_STAT_COMP_SIZE">ZIP_STAT_COMP_SIZE</code></a></dt>
  <dd><var class="Ar" title="Ar">comp_size</var></dd>
  <dt style="margin-left: -36.60ex;"><a class="permalink" href="#ZIP_STAT_MTIME"><code class="Dv" title="Dv" id="ZIP_STAT_MTIME">ZIP_STAT_MTIME</code></a></dt>
  <dd><var class="Ar" title="Ar">mtime</var></dd>
  <dt style="margin-left: -36.60ex;"><a class="permalink" href="#ZIP_STAT_CRC"><code class="Dv" title="Dv" id="ZIP_STAT_CRC">ZIP_STAT_CRC</code></a></dt>
  <dd><var class="Ar" title="Ar">crc</var></dd>
  <dt style="margin-left: -36.60ex;"><a class="permalink" href="#ZIP_STAT_COMP_METHOD"><code class="Dv" title="Dv" id="ZIP_STAT_COMP_METHOD">ZIP_STAT_COMP_METHOD</code></a></dt>
  <dd><var class="Ar" title="Ar">comp_method</var></dd>
  <dt style="margin-left: -36.60ex;"><a class="permalink" href="#ZIP_STAT_ENCRYPTION_METHOD"><code class="Dv" title="Dv" id="ZIP_STAT_ENCRYPTION_METHOD">ZIP_STAT_ENCRYPTION_METHOD</code></a></dt>
  <dd><var class="Ar" title="Ar">encryption_method</var></dd>
  <dt style="margin-left: -36.60ex;"><a class="permalink" href="#ZIP_STAT_FLAGS"><code class="Dv" title="Dv" id="ZIP_STAT_FLAGS">ZIP_STAT_FLAGS</code></a></dt>
  <dd><var class="Ar" title="Ar">flags</var></dd>
</dl>
</div>
<h1 class="Sh" title="Sh" id="RETURN_VALUES"><a class="permalink" href="#RETURN_VALUES">RETURN
  VALUES</a></h1>
Upon successful completion 0 is returned. Otherwise, -1 is returned and the
  error information in <var class="Ar" title="Ar">archive</var> is set to
  indicate the error.
<h1 class="Sh" title="Sh" id="ERRORS"><a class="permalink" href="#ERRORS">ERRORS</a></h1>
The function <code class="Fn" title="Fn">zip_stat</code>() can fail for any of
  the errors specified for the routine
  <a class="Xr" title="Xr" href="zip_name_locate.html">zip_name_locate(3)</a>.
<div class="Pp"></div>
The function <code class="Fn" title="Fn">zip_stat_index</code>() fails and sets
  the error information to <code class="Er" title="Er">ZIP_ER_INVAL</code> if
  <var class="Ar" title="Ar">index</var> is invalid. If
  <code class="Dv" title="Dv">ZIP_FL_UNCHANGED</code> is not set and no
  information can be obtained from the source callback, the error information is
  set to <code class="Er" title="Er">ZIP_ER_CHANGED</code>.
<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_get_num_entries.html">zip_get_num_entries(3)</a>,
  <a class="Xr" title="Xr" href="zip_name_locate.html">zip_name_locate(3)</a>,
  <a class="Xr" title="Xr" href="zip_stat_init.html">zip_stat_init(3)</a>
<h1 class="Sh" title="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
<code class="Fn" title="Fn">zip_stat</code>() was added in libzip 0.6. In libzip
  0.11 the type of <var class="Ar" title="Ar">flags</var> was changed from
  <var class="Vt" title="Vt">int</var> to
  <var class="Vt" title="Vt">zip_flags_t</var>.
<div class="Pp"></div>
<code class="Fn" title="Fn">zip_stat_index</code>() was added in libzip 0.6. In
  libzip 0.10 the type of <var class="Ar" title="Ar">index</var> was changed
  from <var class="Vt" title="Vt">int</var> to
  <var class="Vt" title="Vt">zip_uint64_t</var>. In libzip 0.11 the type of
  <var class="Ar" title="Ar">flags</var> was changed from
  <var class="Vt" title="Vt">int</var> to
  <var class="Vt" title="Vt">zip_flags_t</var>.
<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>
