archive_read_set_options man page

archive_read_set_filter_option, archive_read_set_format_option, archive_read_set_option, archive_read_set_options — functions controlling options for reading archives

Library

Streaming Archive Library (libarchive, -larchive)

Synopsis

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);

Description

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

archive_read_set_filter_option(), archive_read_set_format_option()
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.

archive_read_set_option()
Calls archive_read_set_format_option(), 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.
archive_read_set_options()
options is a comma-separated list of options. If options is NULL or empty, ARCHIVE_OK will be returned immediately.

Calls archive_read_set_option() 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.

Options

Format iso9660
joliet
Support Joliet extensions. Defaults to enabled, use !joliet to disable.
rockridge
Support RockRidge extensions. Defaults to enabled, use !rockridge to disable.
Format tar
compat-2x
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.
hdrcharset
The value is used as a character set name that will be used when translating filenames.
mac-ext
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.
read_concatenated_archives
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.

Errors

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

See Also

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

Referenced By

archive_read(3), archive_read_add_passphrase(3), archive_read_data(3), archive_read_extract(3), archive_read_format(3), archive_read_free(3), archive_read_header(3), archive_read_new(3), archive_read_open(3), archive_write(3), archive_write_set_options(3), libarchive_changes(3).

February 2, 2012