<!DOCTYPE html>
<html>
<!-- This is an automatically generated file.  Do not edit.
   zip_file_get_external_attributes.mdoc -- get external attributes for file in zip
   Copyright (C) 2013-2017 Dieter Baron and Thomas Klausner
  
   This file is part of libzip, a library to manipulate ZIP files.
   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_FILE_GET_EXTERNAL_ATTRIBUTES(3)</title>
</head>
<body>
<table class="head">
  <tr>
    <td class="head-ltitle">ZIP_FILE_GET_EXTERNAL_ATTRIBUTES(3)</td>
    <td class="head-vol">Library Functions Manual</td>
    <td class="head-rtitle">ZIP_FILE_GET_EXTERNAL_ATTRIBUTES(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_file_get_external_attributes</b> &#x2014;
  <span class="Nd" title="Nd">get external attributes for file in zip</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">int</var>
<br/>
<b class="Fn" title="Fn">zip_file_get_external_attributes</b>(<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_uint8_t
  *opsys</var>,
  <var class="Fa" title="Fa" style="white-space: nowrap;">zip_uint32_t
  *attributes</var>);
<h1 class="Sh" title="Sh" id="DESCRIPTION"><a class="selflink" href="#DESCRIPTION">DESCRIPTION</a></h1>
The <b class="Fn" title="Fn">zip_file_get_external_attributes</b>() function
  returns the operating system and external attributes for the file at position
  <var class="Ar" title="Ar">index</var> in the zip archive. The external
  attributes usually contain the operating system-specific file permissions. If
  <var class="Ar" title="Ar">flags</var> is set to
  <code class="Dv" title="Dv">ZIP_FL_UNCHANGED</code>, the original unchanged
  values are returned. If <var class="Ar" title="Ar">opsys</var> or
  <var class="Ar" title="Ar">attributes</var> are
  <code class="Dv" title="Dv">NULL</code>, they are not filled in.
<div class="Pp"></div>
The following operating systems are defined by the zip specification:
<ul class="Bl-item Bl-compact" style="margin-left: 6.00ex;">
  <li class="It-item"><a class="selflink" href="#ZIP_OPSYS_ACORN_RISC"><code class="Dv" title="Dv" id="ZIP_OPSYS_ACORN_RISC">ZIP_OPSYS_ACORN_RISC</code></a></li>
  <li class="It-item"><a class="selflink" href="#ZIP_OPSYS_ALTERNATE_MVS"><code class="Dv" title="Dv" id="ZIP_OPSYS_ALTERNATE_MVS">ZIP_OPSYS_ALTERNATE_MVS</code></a></li>
  <li class="It-item"><a class="selflink" href="#ZIP_OPSYS_AMIGA"><code class="Dv" title="Dv" id="ZIP_OPSYS_AMIGA">ZIP_OPSYS_AMIGA</code></a></li>
  <li class="It-item"><a class="selflink" href="#ZIP_OPSYS_ATARI_ST"><code class="Dv" title="Dv" id="ZIP_OPSYS_ATARI_ST">ZIP_OPSYS_ATARI_ST</code></a></li>
  <li class="It-item"><a class="selflink" href="#ZIP_OPSYS_BEOS"><code class="Dv" title="Dv" id="ZIP_OPSYS_BEOS">ZIP_OPSYS_BEOS</code></a></li>
  <li class="It-item"><a class="selflink" href="#ZIP_OPSYS_CPM"><code class="Dv" title="Dv" id="ZIP_OPSYS_CPM">ZIP_OPSYS_CPM</code></a></li>
  <li class="It-item"><a class="selflink" href="#ZIP_OPSYS_DOS"><code class="Dv" title="Dv" id="ZIP_OPSYS_DOS">ZIP_OPSYS_DOS</code></a></li>
  <li class="It-item"><a class="selflink" href="#ZIP_OPSYS_MACINTOSH"><code class="Dv" title="Dv" id="ZIP_OPSYS_MACINTOSH">ZIP_OPSYS_MACINTOSH</code></a></li>
  <li class="It-item"><a class="selflink" href="#ZIP_OPSYS_MVS"><code class="Dv" title="Dv" id="ZIP_OPSYS_MVS">ZIP_OPSYS_MVS</code></a></li>
  <li class="It-item"><a class="selflink" href="#ZIP_OPSYS_OPENVMS"><code class="Dv" title="Dv" id="ZIP_OPSYS_OPENVMS">ZIP_OPSYS_OPENVMS</code></a></li>
  <li class="It-item"><a class="selflink" href="#ZIP_OPSYS_OS_2"><code class="Dv" title="Dv" id="ZIP_OPSYS_OS_2">ZIP_OPSYS_OS_2</code></a></li>
  <li class="It-item"><a class="selflink" href="#ZIP_OPSYS_OS_400"><code class="Dv" title="Dv" id="ZIP_OPSYS_OS_400">ZIP_OPSYS_OS_400</code></a></li>
  <li class="It-item"><a class="selflink" href="#ZIP_OPSYS_OS_X"><code class="Dv" title="Dv" id="ZIP_OPSYS_OS_X">ZIP_OPSYS_OS_X</code></a></li>
  <li class="It-item"><a class="selflink" href="#ZIP_OPSYS_TANDEM"><code class="Dv" title="Dv" id="ZIP_OPSYS_TANDEM">ZIP_OPSYS_TANDEM</code></a></li>
  <li class="It-item"><a class="selflink" href="#ZIP_OPSYS_UNIX"><code class="Dv" title="Dv" id="ZIP_OPSYS_UNIX">ZIP_OPSYS_UNIX</code></a></li>
  <li class="It-item"><a class="selflink" href="#ZIP_OPSYS_VFAT"><code class="Dv" title="Dv" id="ZIP_OPSYS_VFAT">ZIP_OPSYS_VFAT</code></a></li>
  <li class="It-item"><a class="selflink" href="#ZIP_OPSYS_VM_CMS"><code class="Dv" title="Dv" id="ZIP_OPSYS_VM_CMS">ZIP_OPSYS_VM_CMS</code></a></li>
  <li class="It-item"><a class="selflink" href="#ZIP_OPSYS_VSE"><code class="Dv" title="Dv" id="ZIP_OPSYS_VSE">ZIP_OPSYS_VSE</code></a></li>
  <li class="It-item"><a class="selflink" href="#ZIP_OPSYS_WINDOWS_NTFS"><code class="Dv" title="Dv" id="ZIP_OPSYS_WINDOWS_NTFS">ZIP_OPSYS_WINDOWS_NTFS</code></a>
      (uncommon, use <code class="Dv" title="Dv">ZIP_OPSYS_DOS</code>
    instead)</li>
  <li class="It-item"><a class="selflink" href="#ZIP_OPSYS_Z_SYSTEM"><code class="Dv" title="Dv" id="ZIP_OPSYS_Z_SYSTEM">ZIP_OPSYS_Z_SYSTEM</code></a></li>
</ul>
<div class="Pp"></div>
The defines above follow the PKWARE Inc. Appnote; please note that the InfoZIP
  Appnote has a slightly different mapping.
<h1 class="Sh" title="Sh" id="RETURN_VALUES"><a class="selflink" href="#RETURN_VALUES">RETURN
  VALUES</a></h1>
Upon successful completion, 0 is returned. In case of an error,
  <code class="Dv" title="Dv">-1</code> is returned and the error code in
  <var class="Ar" title="Ar">archive</var> is set to indicate the error.
<h1 class="Sh" title="Sh" id="EXAMPLES"><a class="selflink" href="#EXAMPLES">EXAMPLES</a></h1>
The following code can be used to expand
  <var class="Ar" title="Ar">attributes</var> if the operating system is
  <code class="Dv" title="Dv">ZIP_OPSYS_DOS</code>.
<div class="Pp"></div>
<div class="Bd" style="margin-left: 0.00ex;">
<pre class="Li">
#include &lt;sys/stat.h&gt; 
 
#define FA_RDONLY       0x01            // FILE_ATTRIBUTE_READONLY 
#define FA_DIREC        0x10            // FILE_ATTRIBUTE_DIRECTORY 
 
static mode_t 
_zip_dos_attr2mode(zip_uint32_t attr) 
{ 
   mode_t m = S_IRUSR | S_IRGRP | S_IROTH; 
   if (0 == (attr &amp; FA_RDONLY)) 
      m |= S_IWUSR | S_IWGRP | S_IWOTH; 
 
   if (attr &amp; FA_DIREC) 
      m = (S_IFDIR | (m &amp; ~S_IFMT)) | S_IXUSR | S_IXGRP | S_IXOTH; 
 
   return m; 
}
</pre>
</div>
<h1 class="Sh" title="Sh" id="ERRORS"><a class="selflink" href="#ERRORS">ERRORS</a></h1>
<b class="Fn" title="Fn">zip_file_get_external_attributes</b>() fails 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">index</var> is not a valid file
      index in <var class="Ar" title="Ar">archive</var>.</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_file_set_external_attributes.html">zip_file_set_external_attributes(3)</a>
<h1 class="Sh" title="Sh" id="HISTORY"><a class="selflink" href="#HISTORY">HISTORY</a></h1>
<b class="Fn" title="Fn">zip_file_get_external_attributes</b>() was added in
  libzip 0.11.2.
<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>
