ARCHIVE_READ_OPTIONS(3) Library Functions Manual ARCHIVE_READ_OPTIONS(3)

archive_read_set_filter_option, archive_read_set_format_option, archive_read_set_option, archive_read_set_optionsfunctions controlling options for reading archives

Streaming Archive Library (libarchive, -larchive)

int
archive_read_set_filter_option(struct archive *, const char *module, const char *option, const char *value);

int
archive_read_set_format_option(struct archive *, const char *module, const char *option, const char *value);

int
archive_read_set_option(struct archive *, const char *module, const char *option, const char *value);

int
archive_read_set_options(struct archive *, const char *options);

These functions provide a way for libarchive clients to configure specific read modules.

(), ()
Specifies an option that will be passed to currently-registered filters (including decompression filters) or format readers.

If option and value are both NULL, these functions will do nothing and ARCHIVE_OK will be returned. If option is NULL but value is not, these functions will do nothing and ARCHIVE_FAILED will be returned.

If module is not NULL, option and value will be provided to the filter or reader named module. The return value will be that of the module. If there is no such module, ARCHIVE_FAILED will be returned.

If module is NULL, option and value will be provided to every registered module. If any module returns ARCHIVE_FATAL, this value will be returned immediately. Otherwise, ARCHIVE_OK will be returned if any module accepts the option, and ARCHIVE_FAILED in all other cases.

()
Calls (), then archive_read_set_filter_option(). If either function returns ARCHIVE_FATAL, ARCHIVE_FATAL will be returned immediately. Otherwise, greater of the two values will be returned.
()
options is a comma-separated list of options. If options is NULL or empty, ARCHIVE_OK will be returned immediately.

Calls () with each option in turn. If any archive_read_set_option() call returns ARCHIVE_FATAL, ARCHIVE_FATAL will be returned immediately.

Individual options have one of the following forms:

option=value
The option/value pair will be provided to every module. Modules that do not accept an option with this name will ignore it.
option
The option will be provided to every module with a value of “1”.
!option
The option will be provided to every module with a NULL value.
module:option=value, module:option, module:!option
As above, but the corresponding option and value will be provided only to modules whose name matches module.

Format cab
The value is used as a character set name that will be used when translating file names.
Format cpio
Libarchive 2.x incorrectly encoded Unicode filenames on some platforms. This option mimics the libarchive 2.x filename handling so that such archives can be read correctly.
The value is used as a character set name that will be used when translating file names.
When reading a binary CPIO archive, assume that it is in the original PWB cpio format, and handle file mode bits accordingly. The default is to assume v7 format.
Format iso9660
Support Joliet extensions. Defaults to enabled, use !joliet to disable.
Support RockRidge extensions. Defaults to enabled, use !rockridge to disable.
Format lha
The value is used as a character set name that will be used when translating file names.
Format mtree
Allow reading information missing from the mtree from the file system. Disabled by default.
Format rar
The value is used as a character set name that will be used when translating file names.
Format tar
Libarchive 2.x incorrectly encoded Unicode filenames on some platforms. This option mimics the libarchive 2.x filename handling so that such archives can be read correctly.
The value is used as a character set name that will be used when translating file names.
Support Mac OS metadata extension that records data in special files beginning with a period and underscore. Defaults to enabled on Mac OS, disabled on other platforms. Use !mac-ext to disable.
Ignore zeroed blocks in the archive, which occurs when multiple tar archives have been concatenated together. Without this option, only the contents of the first concatenated archive would be read.

Detailed error codes and textual descriptions are available from the archive_errno() and archive_error_string() functions.

tar(1), archive_read(3), archive_write_set_options(3), libarchive(3)

January 31, 2020 macOS 15.2