169 lines
9.5 KiB
HTML
169 lines
9.5 KiB
HTML
|
<!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"/>
|
||
|
<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="permalink" href="#NAME">NAME</a></h1>
|
||
|
<code class="Nm" title="Nm">zip_file_get_external_attributes</code> —
|
||
|
<div class="Nd" title="Nd">get external attributes for file in zip</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
|
||
|
<<a class="In" title="In">zip.h</a>></code>
|
||
|
<div class="Pp"></div>
|
||
|
<var class="Ft" title="Ft">int</var>
|
||
|
<br/>
|
||
|
<code class="Fn" title="Fn">zip_file_get_external_attributes</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_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="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
|
||
|
The <code class="Fn" title="Fn">zip_file_get_external_attributes</code>()
|
||
|
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 Bd-indent Bl-compac">
|
||
|
<li><a class="permalink" href="#ZIP_OPSYS_ACORN_RISC"><code class="Dv" title="Dv" id="ZIP_OPSYS_ACORN_RISC">ZIP_OPSYS_ACORN_RISC</code></a></li>
|
||
|
<li><a class="permalink" href="#ZIP_OPSYS_ALTERNATE_MVS"><code class="Dv" title="Dv" id="ZIP_OPSYS_ALTERNATE_MVS">ZIP_OPSYS_ALTERNATE_MVS</code></a></li>
|
||
|
<li><a class="permalink" href="#ZIP_OPSYS_AMIGA"><code class="Dv" title="Dv" id="ZIP_OPSYS_AMIGA">ZIP_OPSYS_AMIGA</code></a></li>
|
||
|
<li><a class="permalink" href="#ZIP_OPSYS_ATARI_ST"><code class="Dv" title="Dv" id="ZIP_OPSYS_ATARI_ST">ZIP_OPSYS_ATARI_ST</code></a></li>
|
||
|
<li><a class="permalink" href="#ZIP_OPSYS_BEOS"><code class="Dv" title="Dv" id="ZIP_OPSYS_BEOS">ZIP_OPSYS_BEOS</code></a></li>
|
||
|
<li><a class="permalink" href="#ZIP_OPSYS_CPM"><code class="Dv" title="Dv" id="ZIP_OPSYS_CPM">ZIP_OPSYS_CPM</code></a></li>
|
||
|
<li><a class="permalink" href="#ZIP_OPSYS_DOS"><code class="Dv" title="Dv" id="ZIP_OPSYS_DOS">ZIP_OPSYS_DOS</code></a></li>
|
||
|
<li><a class="permalink" href="#ZIP_OPSYS_MACINTOSH"><code class="Dv" title="Dv" id="ZIP_OPSYS_MACINTOSH">ZIP_OPSYS_MACINTOSH</code></a></li>
|
||
|
<li><a class="permalink" href="#ZIP_OPSYS_MVS"><code class="Dv" title="Dv" id="ZIP_OPSYS_MVS">ZIP_OPSYS_MVS</code></a></li>
|
||
|
<li><a class="permalink" href="#ZIP_OPSYS_OPENVMS"><code class="Dv" title="Dv" id="ZIP_OPSYS_OPENVMS">ZIP_OPSYS_OPENVMS</code></a></li>
|
||
|
<li><a class="permalink" href="#ZIP_OPSYS_OS_2"><code class="Dv" title="Dv" id="ZIP_OPSYS_OS_2">ZIP_OPSYS_OS_2</code></a></li>
|
||
|
<li><a class="permalink" href="#ZIP_OPSYS_OS_400"><code class="Dv" title="Dv" id="ZIP_OPSYS_OS_400">ZIP_OPSYS_OS_400</code></a></li>
|
||
|
<li><a class="permalink" href="#ZIP_OPSYS_OS_X"><code class="Dv" title="Dv" id="ZIP_OPSYS_OS_X">ZIP_OPSYS_OS_X</code></a></li>
|
||
|
<li><a class="permalink" href="#ZIP_OPSYS_TANDEM"><code class="Dv" title="Dv" id="ZIP_OPSYS_TANDEM">ZIP_OPSYS_TANDEM</code></a></li>
|
||
|
<li><a class="permalink" href="#ZIP_OPSYS_UNIX"><code class="Dv" title="Dv" id="ZIP_OPSYS_UNIX">ZIP_OPSYS_UNIX</code></a></li>
|
||
|
<li><a class="permalink" href="#ZIP_OPSYS_VFAT"><code class="Dv" title="Dv" id="ZIP_OPSYS_VFAT">ZIP_OPSYS_VFAT</code></a></li>
|
||
|
<li><a class="permalink" href="#ZIP_OPSYS_VM_CMS"><code class="Dv" title="Dv" id="ZIP_OPSYS_VM_CMS">ZIP_OPSYS_VM_CMS</code></a></li>
|
||
|
<li><a class="permalink" href="#ZIP_OPSYS_VSE"><code class="Dv" title="Dv" id="ZIP_OPSYS_VSE">ZIP_OPSYS_VSE</code></a></li>
|
||
|
<li><a class="permalink" 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><a class="permalink" 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="permalink" 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="permalink" 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">
|
||
|
<pre class="Li">
|
||
|
#include <sys/stat.h>
|
||
|
|
||
|
#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 & FA_RDONLY))
|
||
|
m |= S_IWUSR | S_IWGRP | S_IWOTH;
|
||
|
|
||
|
if (attr & FA_DIREC)
|
||
|
m = (S_IFDIR | (m & ~S_IFMT)) | S_IXUSR | S_IXGRP | S_IXOTH;
|
||
|
|
||
|
return m;
|
||
|
}
|
||
|
</pre>
|
||
|
</div>
|
||
|
<h1 class="Sh" title="Sh" id="ERRORS"><a class="permalink" href="#ERRORS">ERRORS</a></h1>
|
||
|
<code class="Fn" title="Fn">zip_file_get_external_attributes</code>() fails if:
|
||
|
<dl class="Bl-tag">
|
||
|
<dt> </dt>
|
||
|
<dd> </dd>
|
||
|
<dt>[<a class="permalink" href="#ZIP_ER_INVAL"><code class="Er" title="Er" id="ZIP_ER_INVAL">ZIP_ER_INVAL</code></a>]</dt>
|
||
|
<dd><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="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_file_set_external_attributes.html">zip_file_set_external_attributes(3)</a>
|
||
|
<h1 class="Sh" title="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
|
||
|
<code class="Fn" title="Fn">zip_file_get_external_attributes</code>() was added
|
||
|
in libzip 0.11.2.
|
||
|
<h1 class="Sh" title="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
|
||
|
<span class="An" title="An">Dieter Baron</span>
|
||
|
<<a class="Mt" title="Mt" href="mailto:dillo@nih.at">dillo@nih.at</a>>
|
||
|
and <span class="An" title="An">Thomas Klausner</span>
|
||
|
<<a class="Mt" title="Mt" href="mailto:tk@giga.or.at">tk@giga.or.at</a>></div>
|
||
|
<table class="foot">
|
||
|
<tr>
|
||
|
<td class="foot-date">December 18, 2017</td>
|
||
|
<td class="foot-os">NetBSD 8.99.27</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</body>
|
||
|
</html>
|