set external attributes for file in zip

libzip (-lzip)

#include <zip.h>

zip_file_set_external_attributes(zip_t *archive, zip_uint64_t index, zip_flags_t flags, zip_uint8_t opsys, zip_uint32_t attributes);

The zip_file_set_external_attributes() function sets the operating system and external attributes for the file at position index in the zip archive. Currently, no flags are supported.

For a list of known opsys values, see zip_file_get_external_attributes(3).

Upon successful completion 0 is returned. Otherwise, -1 is returned and the error information in archive is set to indicate the error.

zip_file_set_external_attributes() fails if:
index is not a valid file index in archive.
Required memory could not be allocated.
The archive was opened in read-only mode.

libzip(3), zip_file_get_external_attributes(3)

zip_file_set_external_attributes() was added in libzip 0.11.2.

Dieter Baron <> and Thomas Klausner <>