<!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">
<section class="Sh">
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
<code class="Nm">zip_stat</code>, <code class="Nm">zip_stat_index</code>
  &#x2014;
<div class="Nd">get information about file</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">int</var>
  <br/>
  <code class="Fn">zip_stat</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;">zip_stat_t
    *sb</var>);</p>
<p class="Pp"><var class="Ft">int</var>
  <br/>
  <code class="Fn">zip_stat_index</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;">zip_stat_t
    *sb</var>);</p>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
The <code class="Fn">zip_stat</code>() function obtains information about the
  file named <var class="Ar">fname</var> in <var class="Ar">archive</var>. The
  <var class="Ar">flags</var> argument specifies how the name lookup should be
  done. Its values are described in
  <a class="Xr" href="zip_name_locate.html">zip_name_locate(3)</a>. Also,
  <code class="Dv">ZIP_FL_UNCHANGED</code> may be
  <i class="Em">or</i><span class="No">'ed</span> to it to request information
  about the original file in the archive, ignoring any changes made.
<p class="Pp">The <code class="Fn">zip_stat_index</code>() function obtains
    information about the file at position <var class="Ar">index</var>.</p>
<p class="Pp">The <var class="Ar">sb</var> argument is a pointer to a
    <var class="Ft">struct zip_stat</var> (shown below), into which information
    about the file is placed.</p>
<div class="Bd Pp">
<pre>
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">sb</var> must be allocated before
  calling <code class="Fn">zip_stat</code>() or
  <code class="Fn">zip_stat_index</code>().
<p class="Pp">The <var class="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">valid</var> before accessing the fields:</p>
<div class="Bd-indent">
<dl class="Bl-tag Bl-compact">
  <dt><a class="permalink" href="#ZIP_STAT_NAME"><code class="Dv" id="ZIP_STAT_NAME">ZIP_STAT_NAME</code></a></dt>
  <dd><var class="Ar">name</var></dd>
  <dt><a class="permalink" href="#ZIP_STAT_INDEX"><code class="Dv" id="ZIP_STAT_INDEX">ZIP_STAT_INDEX</code></a></dt>
  <dd><var class="Ar">index</var></dd>
  <dt><a class="permalink" href="#ZIP_STAT_SIZE"><code class="Dv" id="ZIP_STAT_SIZE">ZIP_STAT_SIZE</code></a></dt>
  <dd><var class="Ar">size</var></dd>
  <dt><a class="permalink" href="#ZIP_STAT_COMP_SIZE"><code class="Dv" id="ZIP_STAT_COMP_SIZE">ZIP_STAT_COMP_SIZE</code></a></dt>
  <dd><var class="Ar">comp_size</var></dd>
  <dt><a class="permalink" href="#ZIP_STAT_MTIME"><code class="Dv" id="ZIP_STAT_MTIME">ZIP_STAT_MTIME</code></a></dt>
  <dd><var class="Ar">mtime</var></dd>
  <dt><a class="permalink" href="#ZIP_STAT_CRC"><code class="Dv" id="ZIP_STAT_CRC">ZIP_STAT_CRC</code></a></dt>
  <dd><var class="Ar">crc</var></dd>
  <dt><a class="permalink" href="#ZIP_STAT_COMP_METHOD"><code class="Dv" id="ZIP_STAT_COMP_METHOD">ZIP_STAT_COMP_METHOD</code></a></dt>
  <dd><var class="Ar">comp_method</var></dd>
  <dt><a class="permalink" href="#ZIP_STAT_ENCRYPTION_METHOD"><code class="Dv" id="ZIP_STAT_ENCRYPTION_METHOD">ZIP_STAT_ENCRYPTION_METHOD</code></a></dt>
  <dd><var class="Ar">encryption_method</var></dd>
  <dt><a class="permalink" href="#ZIP_STAT_FLAGS"><code class="Dv" id="ZIP_STAT_FLAGS">ZIP_STAT_FLAGS</code></a></dt>
  <dd><var class="Ar">flags</var></dd>
</dl>
</div>
</section>
<section class="Sh">
<h1 class="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">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>
The function <code class="Fn">zip_stat</code>() can fail for any of the errors
  specified for the routine
  <a class="Xr" href="zip_name_locate.html">zip_name_locate(3)</a>.
<p class="Pp">The function <code class="Fn">zip_stat_index</code>() fails and
    sets the error information to <code class="Er">ZIP_ER_INVAL</code> if
    <var class="Ar">index</var> is invalid. If
    <code class="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">ZIP_ER_CHANGED</code>.</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_get_num_entries.html">zip_get_num_entries(3)</a>,
  <a class="Xr" href="zip_name_locate.html">zip_name_locate(3)</a>,
  <a class="Xr" href="zip_stat_init.html">zip_stat_init(3)</a>
</section>
<section class="Sh">
<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
<code class="Fn">zip_stat</code>() was added in libzip 0.6. In libzip 0.11 the
  type of <var class="Ar">flags</var> was changed from <var class="Vt">int</var>
  to <var class="Vt">zip_flags_t</var>.
<p class="Pp"><code class="Fn">zip_stat_index</code>() was added in libzip 0.6.
    In libzip 0.10 the type of <var class="Ar">index</var> was changed from
    <var class="Vt">int</var> to <var class="Vt">zip_uint64_t</var>. In libzip
    0.11 the type of <var class="Ar">flags</var> was changed from
    <var class="Vt">int</var> to <var class="Vt">zip_flags_t</var>.</p>
</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>
