Manpages - zip_file_get_external_attributes.3
libzip (-lzip)
The
function returns the operating system and external attributes for the file at position
in the zip archive. The external attributes usually contain the operating system-specific file permissions. If
is set to
the original unchanged values are returned. If
or
are
they are not filled in.
The following operating systems are defined by the zip specification:
(uncommon, use
instead)
The defines above follow the PKWARE Inc. Appnote; please note that the InfoZIP Appnote has a slightly different mapping.
Upon successful completion, 0 is returned. In case of an error,
is returned and the error code in
is set to indicate the error.
The following code can be used to expand
if the operating system is
#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; }
fails if:
is not a valid file index in
was added in libzip 0.11.2.
and